C++ 透明位图
2006-11-11 15:14
232 查看
在开发界面及棋牌游戏过程中,需要很多镂空的图片,而且图片形式一般比较固定.
所以封装了几种常见的镂空方法.
1. 用于没有掩码图,只有指定透明色,不进行伸缩
void DrawTransBitmap( HDC hdcDest, // 目标DC
int nXOriginDest, // 目标X偏移
int nYOriginDest, // 目标Y偏移
int nWidthDest, // 目标宽度
int nHeightDest, // 目标高度
HDC hdcSrc, // 源DC
int nXOriginSrc, // 源X起点
int nYOriginSrc, // 源Y起点
COLORREF crTransparent // 透明色,COLORREF类型
);
适用图片: void DrawTransBitmap( HDC hdcDest, // 目标DC
int nXOriginDest, // 目标X偏移
int nYOriginDest, // 目标Y偏移
int nWidthDest, // 目标宽度
int nHeightDest, // 目标高度
HDC hdcSrc, // 源DC
int nXOriginSrc, // 源X起点
int nYOriginSrc, // 源Y起点
int nWidthSrc, // 源宽度
int nHeightSrc, // 源高度
COLORREF crTransparent // 透明色,COLORREF类型
);
适用图片:同1,可拉伸
3.指定掩码图,和掩码图属于不同图片
void DrawTransBitmap( HDC hdcDest, // 目标DC
int nXOriginDest, // 目标X偏移
int nYOriginDest, // 目标Y偏移
int nWidthDest, // 目标宽度
int nHeightDest, // 目标高度
HDC hdcSrc, // 源DC
HDC hdcMask, //掩码DC
int nXOriginSrc, // 源X起点
int nYOriginSrc, // 源Y起点
COLORREF crTransparent // 透明色,COLORREF类型
);
适用图片:void DrawTransBitmap(HDC hDC,
int nPosX,
int nPosY,
int nCX,
int nCY,
HBITMAP hObj
);
适用图片:
//用于没有掩码图,只有指定透明色,不进行伸缩
//方法一:
void DrawTransBitmap( HDC hdcDest, // 目标DC
int nXOriginDest, // 目标X偏移
int nYOriginDest, // 目标Y偏移
int nWidthDest, // 目标宽度
int nHeightDest, // 目标高度
HDC hdcSrc, // 源DC
int nXOriginSrc, // 源X起点
int nYOriginSrc, // 源Y起点
COLORREF crTransparent // 透明色,COLORREF类型
)
//用于没有掩码图,只有指定透明色,不进行伸缩
//方法二:
void DrawTransBitmap( HDC hdcDest, // 目标DC
int nXOriginDest, // 目标X偏移
int nYOriginDest, // 目标Y偏移
int nWidthDest, // 目标宽度
int nHeightDest, // 目标高度
HDC hdcSrc, // 源DC
int nXOriginSrc, // 源X起点
int nYOriginSrc, // 源Y起点
COLORREF crTransparent // 透明色,COLORREF类型
)
//用于没有掩码图,只有指定透明色,可以进行伸缩
//方法一:
void DrawTransBitmap( HDC hdcDest, // 目标DC
int nXOriginDest, // 目标X偏移
int nYOriginDest, // 目标Y偏移
int nWidthDest, // 目标宽度
int nHeightDest, // 目标高度
HDC hdcSrc, // 源DC
int nXOriginSrc, // 源X起点
int nYOriginSrc, // 源Y起点
int nWidthSrc, // 源宽度
int nHeightSrc, // 源高度
COLORREF crTransparent // 透明色,COLORREF类型
)
//用于没有掩码图,只有指定透明色,可以进行伸缩
//方法二:
void DrawTransBitmap( HDC hdcDest, // 目标DC
int nXOriginDest, // 目标X偏移
int nYOriginDest, // 目标Y偏移
int nWidthDest, // 目标宽度
int nHeightDest, // 目标高度
HDC hdcSrc, // 源DC
int nXOriginSrc, // 源X起点
int nYOriginSrc, // 源Y起点
int nWidthSrc, // 源宽度
int nHeightSrc, // 源高度
COLORREF crTransparent // 透明色,COLORREF类型
)
void DrawTransBitmap( HDC hdcDest, // 目标DC
int nXOriginDest, // 目标X偏移
int nYOriginDest, // 目标Y偏移
int nWidthDest, // 目标宽度
int nHeightDest, // 目标高度
HDC hdcSrc, // 源DC
HDC hdcMask,
int nXOriginSrc, // 源X起点
int nYOriginSrc, // 源Y起点
COLORREF crTransparent // 透明色,COLORREF类型
)
void DrawTransBitmap(HDC hDC, int nPosX, int nPosY, int nCX, int nCY, HBITMAP hObj)
HRGN CreateBitmapRgn(int nWidth,int nHeight,HBITMAP hbmp, COLORREF TransColor)
部分摘自:http://blog.csdn.net/xuweiqun/archive/2006/11/11/1378714.aspx,其中还补充了一些平时用到的方法
所以封装了几种常见的镂空方法.
1. 用于没有掩码图,只有指定透明色,不进行伸缩
void DrawTransBitmap( HDC hdcDest, // 目标DC
int nXOriginDest, // 目标X偏移
int nYOriginDest, // 目标Y偏移
int nWidthDest, // 目标宽度
int nHeightDest, // 目标高度
HDC hdcSrc, // 源DC
int nXOriginSrc, // 源X起点
int nYOriginSrc, // 源Y起点
COLORREF crTransparent // 透明色,COLORREF类型
);
适用图片: void DrawTransBitmap( HDC hdcDest, // 目标DC
int nXOriginDest, // 目标X偏移
int nYOriginDest, // 目标Y偏移
int nWidthDest, // 目标宽度
int nHeightDest, // 目标高度
HDC hdcSrc, // 源DC
int nXOriginSrc, // 源X起点
int nYOriginSrc, // 源Y起点
int nWidthSrc, // 源宽度
int nHeightSrc, // 源高度
COLORREF crTransparent // 透明色,COLORREF类型
);
适用图片:同1,可拉伸
3.指定掩码图,和掩码图属于不同图片
void DrawTransBitmap( HDC hdcDest, // 目标DC
int nXOriginDest, // 目标X偏移
int nYOriginDest, // 目标Y偏移
int nWidthDest, // 目标宽度
int nHeightDest, // 目标高度
HDC hdcSrc, // 源DC
HDC hdcMask, //掩码DC
int nXOriginSrc, // 源X起点
int nYOriginSrc, // 源Y起点
COLORREF crTransparent // 透明色,COLORREF类型
);
适用图片:void DrawTransBitmap(HDC hDC,
int nPosX,
int nPosY,
int nCX,
int nCY,
HBITMAP hObj
);
适用图片:
//用于没有掩码图,只有指定透明色,不进行伸缩
//方法一:
void DrawTransBitmap( HDC hdcDest, // 目标DC
int nXOriginDest, // 目标X偏移
int nYOriginDest, // 目标Y偏移
int nWidthDest, // 目标宽度
int nHeightDest, // 目标高度
HDC hdcSrc, // 源DC
int nXOriginSrc, // 源X起点
int nYOriginSrc, // 源Y起点
COLORREF crTransparent // 透明色,COLORREF类型
)
//用于没有掩码图,只有指定透明色,不进行伸缩
//方法二:
void DrawTransBitmap( HDC hdcDest, // 目标DC
int nXOriginDest, // 目标X偏移
int nYOriginDest, // 目标Y偏移
int nWidthDest, // 目标宽度
int nHeightDest, // 目标高度
HDC hdcSrc, // 源DC
int nXOriginSrc, // 源X起点
int nYOriginSrc, // 源Y起点
COLORREF crTransparent // 透明色,COLORREF类型
)
//用于没有掩码图,只有指定透明色,可以进行伸缩
//方法一:
void DrawTransBitmap( HDC hdcDest, // 目标DC
int nXOriginDest, // 目标X偏移
int nYOriginDest, // 目标Y偏移
int nWidthDest, // 目标宽度
int nHeightDest, // 目标高度
HDC hdcSrc, // 源DC
int nXOriginSrc, // 源X起点
int nYOriginSrc, // 源Y起点
int nWidthSrc, // 源宽度
int nHeightSrc, // 源高度
COLORREF crTransparent // 透明色,COLORREF类型
)
//用于没有掩码图,只有指定透明色,可以进行伸缩
//方法二:
void DrawTransBitmap( HDC hdcDest, // 目标DC
int nXOriginDest, // 目标X偏移
int nYOriginDest, // 目标Y偏移
int nWidthDest, // 目标宽度
int nHeightDest, // 目标高度
HDC hdcSrc, // 源DC
int nXOriginSrc, // 源X起点
int nYOriginSrc, // 源Y起点
int nWidthSrc, // 源宽度
int nHeightSrc, // 源高度
COLORREF crTransparent // 透明色,COLORREF类型
)
void DrawTransBitmap( HDC hdcDest, // 目标DC
int nXOriginDest, // 目标X偏移
int nYOriginDest, // 目标Y偏移
int nWidthDest, // 目标宽度
int nHeightDest, // 目标高度
HDC hdcSrc, // 源DC
HDC hdcMask,
int nXOriginSrc, // 源X起点
int nYOriginSrc, // 源Y起点
COLORREF crTransparent // 透明色,COLORREF类型
)
void DrawTransBitmap(HDC hDC, int nPosX, int nPosY, int nCX, int nCY, HBITMAP hObj)
HRGN CreateBitmapRgn(int nWidth,int nHeight,HBITMAP hbmp, COLORREF TransColor)
部分摘自:http://blog.csdn.net/xuweiqun/archive/2006/11/11/1378714.aspx,其中还补充了一些平时用到的方法
相关文章推荐
- C++ 轻松实现透明位图(zhuan)
- C++ 透明位图
- C++ 轻松实现透明位图
- C++透明位图(二)
- [原]BMP位图 转换 透明 TGA图像 - 增加 alpha通道 -TGA文件格式初解
- VB用Bitblt实现透明位图显示
- C++读取BMP位图数据的方法
- VC++实现位图显示透明效果
- 绘制透明背景位图
- VC++应用程序对话框添加透明位图
- 位图的巧妙运算得到透明图片的效果
- 位图显示透明效果
- 半透明及透明位图的实现技术
- 创建掩码位图来实现透明绘图
- GDI绘制透明位图
- 如何画透明位图
- VC中使用GDI函数实现位图的透明
- DirextX9之2D编程 通过16位色位图创建背景透明的纹理
- 【转】透明位图的显示
- 透明位图