如何实现简单图象的叠加 ( 积分: 100 )

  • 主题发起人 主题发起人 yqdragon
  • 开始时间 开始时间
Y

yqdragon

Unregistered / Unconfirmed
GUEST, unregistred user!
我在IMAGE1画布上画了一些线条,在内存中建了一个位图BITMAP,在其上也画了一些线条,如何实现将BITMAP设为透明,并将BITMAP的内容叠加到IMAGE画布上呢?
IMAGE1上画了一条线
procedure TForm1.Button1Click(Sender: TObject);
begin
image1.Canvas.PenPos:=Point(0,0);
image1.Canvas.LineTo(90,90);
end;
新建BITMAP并画上线
procedure TForm1.Button1Click(Sender: TObject);
var
btmp: TBitmap;
begin
btmp:=TBitmap.Create;
btmp.Width := image1.Width;
btmp.Height := image1.Height;
btmp.Canvas.PenPos:=Point(10,60);
btmp.Canvas.LineTo(80,60);
end;
如何将 BITMAP画布叠加到IMAGE1画布上呢?
 
我在IMAGE1画布上画了一些线条,在内存中建了一个位图BITMAP,在其上也画了一些线条,如何实现将BITMAP设为透明,并将BITMAP的内容叠加到IMAGE画布上呢?
IMAGE1上画了一条线
procedure TForm1.Button1Click(Sender: TObject);
begin
image1.Canvas.PenPos:=Point(0,0);
image1.Canvas.LineTo(90,90);
end;
新建BITMAP并画上线
procedure TForm1.Button1Click(Sender: TObject);
var
btmp: TBitmap;
begin
btmp:=TBitmap.Create;
btmp.Width := image1.Width;
btmp.Height := image1.Height;
btmp.Canvas.PenPos:=Point(10,60);
btmp.Canvas.LineTo(80,60);
end;
如何将 BITMAP画布叠加到IMAGE1画布上呢?
 
Image1.Canvas.CopyMode := cmSrcAnd;
Image1.Canvas.Draw(0, 0, aBitmap);
 
BITMAP.Transparent;
BITMAP.TransparentColor;
BITMAP.TransparentMode;
 
Image1.Canvas.CopyMode := cmSrcAnd;
Image1.Canvas.Draw(0, 0, aBitmap);
这样叠加后如何还原只有原IMAGE1上的内容呢??/
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
641
import
I
I
回复
0
查看
712
import
I
后退
顶部