我在image.canvas上画线:
image1.Canvas.Pen.Color:=clRed;
image1.Canvas.MoveTo(100,100);
image1.Canvas.LineTo(500,100);
结果image.canvas都是先用白色填充image的所在区域,再在上面画线,如何让其不填充背景或用透明色填充?
image1.Canvas.Pen.Color:=clRed;
image1.Canvas.MoveTo(100,100);
image1.Canvas.LineTo(500,100);
结果image.canvas都是先用白色填充image的所在区域,再在上面画线,如何让其不填充背景或用透明色填充?
SetBkMode(Image1.Canvas.Handle,TRANSPARENT);
image1.Canvas.Pen.Color:=clRed;
image1.Canvas.MoveTo(100,50);
image1.Canvas.LineTo(1000,50);
还是有白背景
image1.Canvas.Pen.Color:=clRed;
image1.Canvas.MoveTo(100,50);
image1.Canvas.LineTo(1000,50);
Image1.Transparent:=True;
Image1.Transparent:=True;
image1.Canvas.Pen.Color:=clRed;
image1.Canvas.MoveTo(100,50);
image1.Canvas.LineTo(1000,50);
放在按钮里,你先试试,不要给image加入任何图,应该没问题。
楼主找找别的问题吧
我记得原来好像没有这个问题,我最近装了一个activex控件,之后总出现一个rtl70.bpl的问题,是否跟这个有关系?
//-0-----------------------------
Image1.Transparent:=True;
image1.Canvas.Pen.Color:=clRed;
image1.Canvas.MoveTo(100,50);
image1.Canvas.LineTo(1000,50);
//-0-----------------------------
你要实现的是有背景作图吧?但是我也试过当将一个含有图片Image2放在另一个Image1的下面,
上面语句仍然很正常的工作。从此我得到了结论:楼主的电脑来自火星!!^_^
procedure TForm1.FormCreate(Sender: TObject);
begin
image2.Transparent:=true;
image2.Canvas.Pen.Color:=clRed;
image2.Canvas.MoveTo(20,20);
image2.Canvas.LineTo(50,20);
end;procedure TForm1.Button1Click(Sender: TObject);
begin
image1.Transparent:=true;
image1.Canvas.Pen.Color:=clblue;
image1.Canvas.MoveTo(20,20);
image1.Canvas.LineTo(20,50);
end;点按钮后只能显示一条蓝竖道
应该还有一个属性需要设置:
image1.Canva.brush.style:=bsclear;
有时不设这个属性要看先后顺序!
你在试试!
在不好用的机器上,我现在发现如果image1如果load一个bmp图像就可以
如果bmp是全白色的,就完全透明,看不到图像的内容