谁知道怎么用C语言或者C++实现多个黑白位图的拼接??最后给出有关的代码,求编程大师帮助、急!!!

谁知道怎么用C语言或者C++实现多个黑白位图的拼接??最后给出有关的代码,求编程大师帮助、急!!!,第1张

首先创建一个内存位图(CreateCompatibleBitmap),创建内存dc(CreateCompatibleDC),将创建好的位图选进内存DC,再将你的一张张图片画(BitBlt)到内存dc上,保存或者画出创建的位图就是你想要的拼接后的图片。

要明确两个情况:

如果原图上没有这个白边,那么是你代码问题,检查位图编解码代码和位图控制代码,这个要根据实际代码分析。

如果原图自带的白边(或者说白色区域)需要透明(通常是非规则图形需要),那么,关注一下API函数TransparentBlt

BOOL TransparentBlt(HDC hdcDest, int nXOriginDest, int

nYOriginDest, int nWidthDest, int hHeightDest, HDC hdcSrc, int

nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, UINT

crTransparent);

参数:

hdcDest:指向目标设备环境的句柄。

nXOriginDest:指定目标矩形左上角的X轴坐标,坐标以逻辑单位表示。

nYOriginDest:指定目标矩形左上角的Y轴坐标,坐标以逻辑单位表示。

nWidthDest:指定目标矩形的宽度。

nHeightDest:指定目标矩形的高度。

hdcsrc:指向源设备环境的句柄。

nXOriginSrc:指定源矩形(左上角)的X轴坐标,坐标以逻辑单位表示。

nYOriginsrc:指定源矩形(左上角)的Y轴坐标,坐标以逻辑单位表示。

nWidthSrc:指定源矩形的宽度。

nHeightSrc:指定源矩形的高度。

crTransparent:源位图中的RGB值当作透明颜色。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11429430.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存