1개의 Image를 사용해서 A 그림을 먼저 불러온후에, 다른 B그림을 투명처리해서 올리려면 어떻게 해야 하나요. 투명하게 처리해야할 색깔은 검은색이거든요.
canvas를 이용하면 될것 같은데 영 안되네요.
도와주세요.
MainImage.Picture.LoadFromFile('001.bmp');
MaskImage.Picture.LoadFromFile('002.bmp'); // 마스크할 그림(투명색은 검정색)
MainImage.Picture.Bitmap.Canvas.Brush.Color := clBlack;
MainImage.Picture.Bitmap.Canvas.CopyMode := cmSrcPaint;
MainImage.Picture.Bitmap.Canvas.BrushCopy(Rect(78,94,78+360,94+480),MaskImage.Picture.Bitmap,Rect(0,0,360,480),clBlack);
MainImage.Picture.Bitmap.Canvas.CopyRect(Rect(78,94,78+360,94+480),MaskImage.Picture.Bitmap.Canvas,Rect(0,0,360,480));
도와주세요.
> 1개의 Image를 사용해서 A 그림을 먼저 불러온후에, 다른 B그림을 투명처리해서 올리려면 어떻게 해야 하나요. 투명하게 처리해야할 색깔은 검은색이거든요.
>
> canvas를 이용하면 될것 같은데 영 안되네요.
> 도와주세요.
>
> MainImage.Picture.LoadFromFile('001.bmp');
> MaskImage.Picture.LoadFromFile('002.bmp'); // 마스크할 그림(투명색은 검정색)
> MainImage.Picture.Bitmap.Canvas.Brush.Color := clBlack;
> MainImage.Picture.Bitmap.Canvas.CopyMode := cmSrcPaint;
> MainImage.Picture.Bitmap.Canvas.BrushCopy(Rect(78,94,78+360,94+480),MaskImage.Picture.Bitmap,Rect(0,0,360,480),clBlack);
> MainImage.Picture.Bitmap.Canvas.CopyRect(Rect(78,94,78+360,94+480),MaskImage.Picture.Bitmap.Canvas,Rect(0,0,360,480));
>
> 도와주세요.
var
Bitmap: TBitmap;
begin
MainImage.Picture.LoadFromFile('001.bmp');
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile('002.bmp');
Bitmap.Transparent := True;
Bitmap.TransParentColor := Bitmap.Canvas.Pixels[0,0];
Bitmap.TransparentMode := tmAuto;
MainImage.Canvas.Draw(0, 0, Bitmap);
end;