中易网

StretchDIBits是什么?麻烦告诉我

答案:2  悬赏:80  
解决时间 2021-04-07 16:36
StretchDIBits是什么?麻烦告诉我
最佳答案
如果目标矩形比源矩形大小要大,那么函数对颜色数据的行和列进行拉伸,以与目标矩形匹配。如果目标矩形大小要比源矩形小,那么该函数通过使用指定的光栅操作对行列进行压缩。
  函数原型: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值,若想了解更多的信息,请参考下面备注一节。
  返回值:如果函数执行成功,那么返回值是拷贝的扫描线数目,如果函数执行失败,那么返回值是GDI_CRROR。
  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轴创建位图镜像。
  如果BITMAPINFOHEADER结构中的成员biCompression为BI_JPEG,那么参数lpBits指向的是一个包含JPEG图像的缓冲区。BITMAPINFOHEADER结构中的biSizeImage成员指定了该缓冲区的大小。参数iUsage必须设为DIB_RGB_COLORS。dwRop必须设为SRCCOPY。
  如果BITMAPV4HEADER结构中的成员bV 4Compression为BI_JPEG,那么参数lpBits指向的是一个包含JPEG图像的缓冲区。BITMPV4HEADER结构中的bV4SizeImage成员指定了该缓冲区的大小。参数iUsage必须设为DIB_RGB_COLORS。参数dwRop必须设为SRCCOPY。
  如果BITMAPV5HEADER结构中的成员bV 5Compression为BI_JPEG,那么参数lpBits指向的是一个包含JPEG图像的缓冲区。BITMPV5HEADER结构中的bV5SizeImage成员指定了该缓冲区的大小。参数iUsage必须设为DIB_RGB_COLORS。dwRop必须设为SRCCOPY。
  为确保打印时可以有正确的图元文件假脱机操作。应用程序应在调用StretchDIBits函数之前调用CHECKJPEGFORMAT转义符,以确认打印机识别JPEG图像。
  ICM:执行颜色管理。如果指定的BITMAPINFO结构中的bmiHeader不包含BITMAPV4HEADER或BITMAPV5HEADER,那么当前设备环境的颜色配置(profile)被用作源颜色配置(profile)。如果没有颜色档案,那么就使用RGB。如果指定的BITMAPINFO结构中的成员bmiHeader包含了BITMAPV4HEADER或BITMAPV5HEADER,那么将把位图标头中指定的颜色配置(profile)用作源颜色配置。
全部回答

有,而且很多

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么吴莫愁老出来吓人?
谭晶晶在高调对里唱的是什么歌曲
2015年5月以后移动剩余流量是否能够累积到下
中国社会科学院好考吗?
庄子醉梦蝶·酒窖NO.001地址在什么地方,想过
要好玩的。小一点的单机游戏。推荐几个。适合
河北省艺术职业学院是独立学院吗
一个备案号可以用在另一个域名上吗
为什么vs2015中,标准输入输出函数scanf和pri
晚上打呼撸女友睡不着求解
CPS3 Emulator 1.0a 使用,rom 放到哪里?
成都火车站-出站口这个地址在什么地方,我要
公司内部web服务器如何让外网访问。
女方养不起孩子起诉要抚养费,孩子抚养权可以
为什么10色的pro-10佳能打印机机打出来的照片
推荐资讯
yan磨那个yan字怎写
户口在太原市古交的中考生能报那些太原市高中
宁波鄞州区有那些好玩的风景区
我是重庆农村户口,在重庆买了一套小户型房子
碳酸钙能中和胃酸那氢氧化钙为什么不行?
南京初中数学用哪个版本的
润沁花园停车场在哪里啊,我有事要去这个地方
如何用EXCEL 公式计算两个时间之间间隔多少小
为什么nba常规赛不改成86场?
南化大街/曙光大街(路口)怎么去啊,有知道地
32位虚拟机上安装64位系统
双刀的幽灵一击在哪弄的?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?