为了抛砖引玉,下面是一个简单的打印程序:
var
i: integer;
Img: TImage;
begin
Printer.BeginDoc; // **
for i := 0 to componentcount - 1 do
if components[i] is TImage then
begin
Img := TImage(components[i]);
Printer.CANVAS.stretchDraw(
Rect(Img.left, Img.top,
Img.left + img.Picture.Graphic.Width,
Img.Top + img.Picture.Graphic.Height
),
img.Picture.Graphic)
end;
Printer.EndDoc; // **
end;
---要保证这段代码可以运行,请先保证你机子正常连接打印机(或装个虚拟打印机,如SmartPrinter),然后建一工程,form上放两个Image,两Image互相重叠,一大一小。并分别load不同图片,在上面的image装载透明png图片,下面的随便装什么图片均可。
再放一个Button。点击事件就用上面的代码即可。
请大家先测试看看。其实,引用TGifImage就能搞透明的,和上面的代码一样。