StretchDIBits的用法

jszy518 2009-03-09 04:38:47
StretchDIBits(var_BufDC11.GetSafeHdc(),0,0,var_SelRect.Width(),var_SelRect.Height(),0,0,var_SelRect.Width(),var_SelRect.Height(),
var_ImgData,imgifo,DIB_RGB_COLORS,SRCCOPY);

var_BufDC11是一个目标CDC;
var_SelRect是一个矩形
imgifo是原位图的一个PBITMAPINFO
var_ImgData是原位图的BYTE信息

上面我测试了,没有反映.请大家指教
...全文
138 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你怎么测试的?

函数功能:该函数将DIB中矩形区域内像素使用的颜色数据拷贝到指定的目标矩形中。如果目标矩形比源矩形大小要大,那么函数对颜色数据的行和列进行拉伸,以与目标矩形匹配。如果目标矩形大小要比源矩形小,那么该函数通过使用指定的光栅操作对行列进行压缩。
  函数原型:int StretchDIBits(HDC hdc, int XDest , int YDest , int nDestWidth, int nDestHeight, int XSrc, int Ysrc, int nSrcWidth, int nSrcHeight, CONST VOID *lpBits, CONST BITMAPINFO * lpBitsInfo, UINT iUsage, DWORD dwRop);
  参数:
  hdc:指向目标设备环境的句柄。
  XDest:指定目标矩形左上角位置的X轴坐标,按逻辑单位来表示坐标。
  YDest:指定目标矩形左上角的Y轴坐标,按逻辑单位表示坐标。
  nDestWidth:指定目标矩形的宽度。
  nDestHeight:指定目标矩形的高度。
  XSrc:指定DIB中源矩形(左上角)的X轴坐标,坐标以像素点表示。
  YSrc:指定DIB中源矩形(左上角)的Y轴坐标,坐标以像素点表示。
  nSrcWidth:按像素点指定DIB中源矩形的宽度。
  nSrcHeight:按像素点指定DIB中源矩形的高度。
  lpBits:指向DIB位的指针,这些位的值按字节类型数组存储,有关更多的信息,参考下面的备注一节。
  lpBitsInfo:指向BITMAPINFO结构的指针,该结构包含有关DIB方面的信息。
  iUsage:表示是否提供了BITMAPINFO结构中的成员bmiColors,如果提供了,那么该bmiColors是否包含了明确的RGB值或索引。参数iUsage必须取下列值,这些值的含义如下:
  DIB_PAL_COLOR:表示该数组包含对源设备环境的逻辑调色板进行索引的16位索引值。
  DIB_RGB_COLORS:表示该颜色表包含原义的KGB值,若想了解更多的信息,请参考下面备注一节。

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧