我的程序需要輸出一個(相當複雜的)表單到打印機,包括幾個圖像。在選擇PDF打印機(PDF995)後,我正在使用Delphi(2006)的Printer.Canvas
。這工作就像一種享受。如何使用Delphi將部分透明的圖像打印到PDF Canvas?
但是,我現在遇到了一個問題:有一個部分透明的圖像需要放置在其他元素(邊框,背景等)的頂部,部分圖像仍然可以通過圖像的某些部分。
在常規屏幕上執行此操作Canvas
可以正常工作,使用TransparentColor
屬性的常規TBitmap
s。但是,當我嘗試在打印機上執行此操作時,它並不總是有效;當我在PDF打印機上試用時,它永遠不會工作:背景變黑或(到目前爲止最好的結果)變成白色,但仍然覆蓋下面的任何東西。
我已經嘗試通過在Word文檔中插入帶有alpha透明度(a.k.a.半透明度)的PNG圖像來實現相同的結果,然後將其發送到所述PDF打印機。半透明消失,但像素透明度保持不變。所以至少應該有可能。
任何人都知道如何?
有趣的想法,它會很高興聽到如果這工作。許多「PDF打印機」的「堆棧」就像這樣:應用程序 - > GDI - >打印後臺處理程序 - > PS驅動程序 - >重定向器(例如Redmon) - > PS到PDF轉換器(通常爲Ghostscript)。對於批判性的作品似乎是將GDI調用轉換爲PostScript的正確方式。你的建議肯定會改變這方面的結果。 – 2009-05-31 03:49:53