StretchDIBits

该函数将DIB中矩形区域内像素使用的颜色数据拷贝到指定的目标矩形中。如果目标矩形比源矩形大小要大,那么函数对颜色数据的行和列进行拉伸,以与目标矩形匹配。如果目标矩形大小要比源矩形小,那么该函数通过使用指定的光栅操作对行列进行压缩。
参数:
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_COLORS:表示该数组包含对源设备环境的逻辑调色板进行索引的16位索引值。
DIB_RGB_COLORS:表示该颜色表包含原义的RGB值,若想了解更多的信息,请参考下面备注一节。
dwRop:指定源像素点、目标设备环境的当前刷子和目标像素点是如何组合形成新的图像。若想了解更多信息,请参考下面的备注一节。
返回值:如果函数执行成功,那么返回值是拷贝的扫描线数目,如果函数执行失败,那么返回值是GDI_ERROR。
Windows NT:若想获取更多错误信息,请调用GetLastError函数。
Windows 98、Windows NT 5.0及以后版本:如果设备驱动程序不支持传送给StretchDIBits的JPEG文件格式的图像,则该函数将失败,并返回GEI_ERROR。
备注:自底向上的DIB的起始点为左下角,自顶向下DIB的起始点为左上角。
如果nSrcWidth和nDestWidth参数的符号不同。或是nSrcHeight和nDesHeight参数的符号不同。那么函数StretchDIBits将创建位图的镜像。如果NsrcWidth和NdestWidth符号不同,那么函数将沿着X轴创建位图镜像。如果NsrcHeight和NdestHeight符号不同,那么函数将沿着Y轴创建位图镜像。
对于Windows 98、Windows NT 5.0及以后版本:该函数允许将JPEG图像用作源图像,每个参数如何使用其实仍是一样的。
如果BITMAPINFOHEADER结构中的成员biCompression为BI_JPEG,那么参数lpBits指向的是一个包含JPEG图像的缓冲区。BITMAPINFOHEADER结构中的biSizeImage成员指定了该缓冲区的大小。参数iUsage必须设为DIB_RGB_COLORS。dwRop必须设为SRCCOPY。
为确保打印时可以有正确的图元文件假脱机操作。应用程序应在调用StretchDIBits函数之前调用CHECKJPEGFORMAT转义符,以确认打印机识别JPEG图像。
ICM:执行颜色管理。如果指定的BITMAPINFO结构中的bmiHeader不包含BITMAPV4HEADER或BITMAPV5HEADER,那么当前设备环境的颜色配置(profile)被用作源颜色配置(profile)。如果没有颜色档案,那么就使用RGB。如果指定的BITMAPINFO结构中的成员bmiHeader包含了BITMAPV4HEADER或BITMAPV5HEADER,那么将把位图标头中指定的颜色配置(profile)用作源颜色配置。

StretchDIBits 的使用相关推荐

  1. StretchBlt, StretchDIBits函数显示失真问题

    StretchBlt, StretchDIBits可以对图像数据进行拉伸, 压缩显示, 但会失真, 解决方法 调用StretchBlt/StretchDIBits之前调用下面那一句 SetStretc ...

  2. StretchDIBits()函数

    函数功能:该函数将DIB中矩形区域内像素使用的颜色数据拷贝到指定的目标矩形中.如果目标矩形比源矩形大小要大,那么函数对颜色数据的行和列进行拉伸,以与目标矩形匹配.如果目标矩形大小要比源矩形小,那么该函 ...

  3. StretchDIBits速度测试(HALFTONE)

    StretchDIBits速度测试(HALFTONE) 下面实验中显示窗口大小为1024*768,拉伸模式设为HALFTONE. 一.单通道图像 (1) 保持图像高度为1024,宽度从24到2024递 ...

  4. 利用VS+MFC+Opencv显示图像和视频所需添加类(CvvImage.h和CvvImage.cpp的源码)。

    CvvImage.h代码: #pragma once #ifndef CVVIMAGE_CLASS_DEF #define CVVIMAGE_CLASS_DEF #include "open ...

  5. Windows API函数大全

    1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同 ...

  6. OpenCV 2.2.0 CvvImage的使用

    转自:http://blog.csdn.net/raocong2010/archive/2011/01/17/6146158.aspx# 前几日,OpenCV 2.2.0版本出现了...但是...以前 ...

  7. BMP文件的读取与显示

    有三个函数能够完毕这一功能 1.BitBlt BitBlt 用于从原设备中复制位图到目标设备 void CMFCApplication1View::OnDraw(CDC* pDC) {CMFCAppl ...

  8. bitmap格式分析

    位图(Bitmap)当然是最简单的,它Windows显示图片的基本格式,其文件扩展名为*.BMP.在Windows下,任何各式的图片文件(包括视频播放)都要转化为位图个时候才能显示出来,各种格式的图片 ...

  9. 简单的视频采集demo

    打算做个简单的聊天软件,其中一个我没做过的,就是视频采集. 在网上查了许久资料,终于搞清楚了dshow采集视频的流程 参考资料如下: https://msdn.microsoft.com/en-us/ ...

  10. 远程控制 vc++实现

    from:http://club.cimgoo.com/forum.php?mod=viewthread&tid=76 本人有类似的软件VC源码,要的可以EMAIL:278250658#qq. ...

最新文章

  1. 25个自适应菜单教程和脚本
  2. Intellij IDEA运行报Command line is too long解法
  3. python方格染色_判定二部图的着色算法(Python),题,染色法,判断,二分
  4. jquery --- 收缩兄弟元素
  5. P5163-WD与地图【tarjan,整体二分,线段树合并】
  6. vue中标签自定义属性的使用
  7. 录音转文字 android,录音转文字pro
  8. Anylogic中队列属性设置
  9. HTML,CSS,JavaScript知识树思维导图
  10. CDA-分角色用户查询
  11. 商业银行2022年12月升级UKEY证书后故障
  12. linux运行vb程序,Linux可执行文件ELF结构及程序加载运行
  13. noexcept与栈展开(stack unwinding)
  14. 变态java面试题一览
  15. 怎样批量查询中通快运物流并分析出提前签收的单号
  16. net-java-php-python-高校新生报到管理系统计算机毕业设计程序
  17. 评估人-自主系统团队通信的方法(1)
  18. 打车应用生死未卜 嘀嘀或傍上腾讯
  19. 使用dockerfile自定义Docker镜像并推送到dockerhub
  20. idea最新版下载安装使用

热门文章

  1. 3dmax模型带材质导出obj格式文件的方法与步骤
  2. 计算机视觉-OpenCV(银行卡号识别)
  3. 金蝶K3系统物料主数据后台表对应字段一览
  4. DSP eQEP正交编码
  5. abd串口工具使用教程_一体机电脑维修工具下载及使用教程
  6. Mybatis中文文档下载地址分享
  7. 欧洲语言框架A1到C2,法语等级 A1、A2、B1、B2、C1、C2
  8. C语言: 输出一个图形
  9. 微信Bscroll事件
  10. 0.96OLED显示原理及FPGA驱动程序