阴影画笔的颜色是
前景
颜色-图案填充本身的颜色。
当使用阴影画笔时,背景色是单独设置的,据我所知,不作为
画布对象
因此需要使用Windows GDI API
设置颜色
()函数。
例如,要在白色背景上绘制红色阴影,请在使用画布画笔绘制之前添加一个调用以设置背景颜色:
image1.Canvas.brush.Style := bsDiagCross;
image1.canvas.brush.color := clRed;
SetBkColor(image1.Canvas.Handle, ColorToRGB(clWhite));
image1.canvas.FillRect(image1.clientrect);
[更新:]
注:
在Delphi2010(可能还有更早的版本)中,您应该调用
设置颜色
()设置画笔属性后。Internally when the canvas creates it's brush it calls
设置颜色
() which tramples on any explicit calls to
设置颜色
()在引用之前
画布画笔
. 创建内部画布时的时间,或内部使用
设置颜色
(),似乎在Delphi2006(测试原始帖子时使用)和Delphi2010之间发生了变化。不管是什么原因,在使用之前立即调用setbkcolor显然更可靠。