在一个图像中叠加图片
发布时间:2020-12-15 04:13:44 所属栏目:大数据 来源:网络整理
导读:是否可以通过叠加在一起来将两个或更多相同大小的bmp图片合并为一个?与在 Windows XP MS Paint中完成的方式相同:将一张图片粘贴到另一张图片中,次要颜色为透明. 解决方法 您可以使用TBitmap的Transparent属性来实现该效果.由于您的位图具有黑色边框,因此自
是否可以通过叠加在一起来将两个或更多相同大小的bmp图片合并为一个?与在
Windows XP MS Paint中完成的方式相同:将一张图片粘贴到另一张图片中,次要颜色为透明.
解决方法
您可以使用TBitmap的Transparent属性来实现该效果.由于您的位图具有黑色边框,因此自动透明色(图像数据的第一个像素)将无法工作,您还需要将TransparentColor属性设置为“clWhite”.
var bmp1,bmp2: TBitmap; begin bmp1 := TBitmap.Create; bmp1.LoadFromFile('...test1.bmp'); bmp2 := TBitmap.Create; bmp2.LoadFromFile('...test2.bmp'); // bmp2.PixelFormat := pf24bit; // with 32 bit images I need this,don't know why bmp2.Transparent := True; bmp2.TransparentColor := clWhite; bmp1.Canvas.Draw(0,bmp2); // draw bmp2 over bmp1 // this is how the merged image looks like Canvas.Draw(0,bmp1); .. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |