当前位置:主页>仓库管理软件> 列表

image中背景怎么老是白色?

财务软件版1楼: 在Groupbox中加入一个Image控件,设为Align = alClient,然后开始画图……
with image.Canvas do
begin
Pen.Color := clWhite;
Brush.Color := $00FA8170;
Polygon([Point(10, 10), Point(28,20),Point(28, 168), Point(10, 158)]);
end;
大家可以看到,Image中的背景是白色的!!!
我把Image的Transparent设为True,可是,沿着Polygon的“线”不为白色,而是消失了!!!
也就是说,在Transparent设为True的情况下,白色是没有用的!

而我在Form.canvas中画,就没有这个问题……
555555555555555,可是我必须在Image控件中画啊!
怎么做,才会使在Image控件中画图的时候,背景不为白色,而白色又可以用?
就像是在Form中画一样?

2楼: Brush.Color := clFuchsia;
FillRect(ClientRect);
Pen.Color := clWhite;
Brush.Color := $00FA8170;
Polygon([Point(10, 10), Point(28,20),Point(28, 168), Point(10, 158)]);
Transparent := True; 如进销存软件排名

3楼: lichengbin:
谢谢了,老大,这是怎么一回事?

4楼: 能把原理告诉我吗?

5楼: 因为默认背景色是白色,而透明色取得是Canvas.Pixels[0, Height - 1],就是左下角的颜色,是白色,那样你画白色的线当然就被当成背景透明色啦,所以我加的两句就是把背景色变一下,这样,白色就是不是背景色,当然就不会透明而不显示啦[:D]

6楼: 接受答案了.