BOOL StretchBlt(
int x, //指定目的矩形区域左上角的X坐标
int y, //指定目的矩形区域左上角的Y坐标
int nWidth, //指定目的矩形区域的宽度
int nHeight, //指定目的矩形区域的高度
CDC* pSrcDC,
int xSrc, //指定源矩形区域左上角的X坐标
int ySrc, //指定源矩形区域左上角的Y坐标
int nSrcWidth, //指定源矩形区域的宽度
int nSrcHeight, //指定源矩形区域的高度
DWORD dwRop //此参数参考MSDN,SRCCOPY类型为直接拷贝
); //此函数将一个位图资源从一个矩形区域拷贝到另一个矩形区域,即缩放位图
BOOL TransparentBlt(
int xDest,
int yDest,
int nDestWidth,
int nDestHeight,
CDC* pSrcDC,
int xSrc,
int ySrc,
int nSrcWidth,
int nSrcHeight,
UINT clrTransparent
); //此函数同样具有缩放功能,但此函数最后一个参数用来指定作为透明色的RGB;
BOOL BitBlt(
int x,
int y,
int nWidth,
int nHeight,
CDC* pSrcDC,
int xSrc,
int ySrc,
DWORD dwRop
); //此函数同样用来拷贝位图资源,但不具备缩放功能.
用法举例:
CPaintDC dc(this); CBitmap BackBMP; BackBMP.LoadBitmapW(IDB_BITMAP1); BITMAP bm; BackBMP.GetBitmap(&bm);
CDC ImageDC; ImageDC.CreateCompatibleDC(&dc); CBitmap* pOldImageBMP = ImageDC.SelectObject(&BackBMP); dc.StretchBlt(0, 0, bm.bmWidth+15, bm.bmHeight+15, &ImageDC, 0, 0, bm.bmWidth, bm.bmHeight, SRCCOPY); ImageDC.SelectObject(pOldImageBMP);
CBitmap ForeBMP; ForeBMP.LoadBitmapW(IDB_BITMAP2); ForeBMP.GetBitmap(&bm);
pOldImageBMP = ImageDC.SelectObject(&ForeBMP); dc.TransparentBlt(0, 0, bm.bmWidth+15, bm.bmHeight+15, &ImageDC, 0, 0, bm.bmWidth, bm.bmHeight, RGB(255, 255, 255)); ImageDC.SelectObject(pOldImageBMP);
分享到:
相关推荐
VB StretchBlt函数实现图片旋转、放大、缩小
利用GDI+在Form中绘制60*60个圆点,显示帧速,使用三种不同方法,分别是: 1.直接绘制 2.使用双缓冲 3.使用BitBlt函数 对比三种函数的帧速,以及提速效果 开发环境为vs2008
StretchBlt有兴趣的可以试试2次开发
拼图游戏,创建一定数量的Static控件,然后通过StretchBlt函数吧图片分块画到Static控件上,最后通过WM_LUBTTONDOWN和WM_LBUTTONUP时间控制Static控件的移动
用C++实现打印图片功能,用StretchBlt和BitBlt用于绘制位图
visual c++使用StretchBlt放大图像
使用StretchBlt函数实现绘制透明位图
非常不错的倒计时源码,VC++,界面美观
易语言图像翻转源码,图像翻转,E_BitBlt,E_StretchBlt,E_AlphaBlend,BitBlt,StretchBlt,AlphaBlend,lstrcpyn_BITMAPINFO
设计实现了加速Microsoft GDI中AlphaBlend、BitBlt、MaskBlt、StretchBlt、TransparentBlt等函数的硬件结构;对函数实现中缩放算法的数据相关性进行研究,提出一种高效的缩放结构,与Marvell PXA300相比性能有明显提升....
VS2010 MFC 对话框 测试 StretchBlt函数 的用法 ,对应《windows程序设计》第14章 Stretch.c 程序
Flips a picture using the StretchBlt API function.
小点阵放大显示算法,可将小字库变成大字库的效果。
在VC中,位图显示一般有现成的方式,如使用picture控件、GetDC()->StretchBlt、::BitBlt等,但这些方式都是高层的封装,让你不清楚一副位图是如何解析并显示到DC上的。实际应用中,比如图像处理,视频显示等,需要...
1.本实例基于VC6.0 ,主要用了Bitblt 和 Stretchblt 函数。 2.本实例用了椭圆型的对话框,对此感兴趣的朋友可以看看。
SetMapperFlags Windows对字体进行映射时,可用该函数选择与目标设备的纵横比相符的光栅字体 SetTextAlign 设置文本对齐方式,并指定在文本输出过程中使用设备场景的当前位置 SetTextCharacterExtra 描绘文本的...
用位图填充整个对话框 用位图填充整个对话框拉伸位图作背景_StretchBlt_API函数用法
用位图填充整个对话框 用位图填充整个对话框拉伸位图作背景_StretchBlt_API函数用法
用位图填充整个对话框 用位图填充整个对话框拉伸位图作背景_StretchBlt_API函数用法