图像叠加 透明 TransparentBlt解决方案
图像叠加 透明 TransparentBlt
第一张图片为背景图片 bmp 格式
第二章图片为人物图片 bmp 格式 人物以外的透明部分以颜色 $FF00FF 表示
图片尺寸都为400*400
希望进行图片叠加,要求速度快的方式。不能用像素处理的方式。
我记得以前用TransparentBlt函数做过,是可以的。
可刚才编码,大约是以下样子
TransparentBlt(ADC, 0,0,400,400,objCv1.handle,0,0,400,400,$FF00FF);
TransparentBlt(ADC, 0,0,400,400,objCv2.handle,0,0,400,400,$FF00FF);
第一句是绘背景图
第二句是在同一区域绘用$FF00FF颜色表示的前景图
可结果是:
只用第一句 能正确绘制背景图
只用第二句 能正确绘制前景(人物)图 有透明效果
两句一起用,发现和单用第二句的效果是一样的。背景图看不见了,同时前景图透明部分为窗口下面其他程序的窗口,并且鼠标点进去能点到被透明显示出来的其他程序界面。
奇怪了
跪求高手解决方法 由于是要做一动画效果要循环显示每一帧图片,
所以透明叠加的方式必须速度很快,像素处理方式的不要。
谁能帮我写个有效代码 谢谢了。
------解决方案--------------------
bitblt(ADC, 0,0,400,400,objCv2.handle,0,0,srcand);
试试这个。。。
------解决方案--------------------
第一张图片为背景图片 bmp 格式
第二章图片为人物图片 bmp 格式 人物以外的透明部分以颜色 $FF00FF 表示
图片尺寸都为400*400
希望进行图片叠加,要求速度快的方式。不能用像素处理的方式。
我记得以前用TransparentBlt函数做过,是可以的。
可刚才编码,大约是以下样子
TransparentBlt(ADC, 0,0,400,400,objCv1.handle,0,0,400,400,$FF00FF);
TransparentBlt(ADC, 0,0,400,400,objCv2.handle,0,0,400,400,$FF00FF);
第一句是绘背景图
第二句是在同一区域绘用$FF00FF颜色表示的前景图
可结果是:
只用第一句 能正确绘制背景图
只用第二句 能正确绘制前景(人物)图 有透明效果
两句一起用,发现和单用第二句的效果是一样的。背景图看不见了,同时前景图透明部分为窗口下面其他程序的窗口,并且鼠标点进去能点到被透明显示出来的其他程序界面。
奇怪了
跪求高手解决方法 由于是要做一动画效果要循环显示每一帧图片,
所以透明叠加的方式必须速度很快,像素处理方式的不要。
谁能帮我写个有效代码 谢谢了。
------解决方案--------------------
bitblt(ADC, 0,0,400,400,objCv2.handle,0,0,srcand);
试试这个。。。
------解决方案--------------------