StretchDIBits使用方法
转自:http://blog.csdn.net/giantchen547792075/article/details/6996011
StretchDIBits 函数把DIB、JPEG、PNG图像中一矩形区域内的像素颜色数据拷贝到指定的目标矩形里。假设目标矩形大于源矩形,此函数将拉伸的行和列以适合目标矩形的颜色数据。假设目标矩形小于源矩形,则此函数使用指定的光栅操作压缩的行和列。(Note:整幅图像都会被显示在一个矩形区域中,这个矩形区域不许显示原图全貌)
值 | 备注 |
DIB_RGB_COLORS
|
颜色表中包括文本的 RGB 值。
|
DIB_PAL_COLORS
|
该数组包括到源设备上下文的逻辑调色板的 16 位索引。
|
假设函数成功,则返回值是扫描复制的行数。请注意,此值能够为负的镜像内容。
假设该函数失败,或者没有扫描行被复制,则返回值为 0。
假设驱动程序不支持 JPEG 或 PNG 文件图像传递给 StretchDIBits,该函数将失败并返回 GDI_ERROR。假设发生问题,应用程序必须依靠自己的 JPEG 或 PNG 支持,将图像的解压缩成位图,然后将该位图传递给 StretchDIBits。
- 假设 BITMAPINFOHEADER 的 biCompression 成员是 BI_JPEG 或 BI_PNG,lpBits 指向包括 JPEG 或 PNG 图像单独的缓冲区。BITMAPINFOHEADER 结构的 biSizeImage 成员指定缓冲区的大小。IUsage 參数不得不被设置为 DIB_RGB_COLORS。DwRop 參数不得不被设置为 SRCCOPY。
- 为确保打印时有适当的图元文件缓存池,在调用 StretchDIBits 之前,应用程序必须调用 CHECKJPEGFORMAT 或 CHECKPNGFORMAT 转义以验证打印机可分别识别 JPEG 或 PNG 图像。
转载于:https://www.cnblogs.com/gcczhongduan/p/4005657.html
StretchDIBits使用方法相关推荐
- 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群
作者:Jeffrey Hunter 了解如何以低于 2,700 美元的费用在 Oracle Enterprise Linux 上安装并配置 Oracle RAC 11g 第 2 版开发集群. 本指南中 ...
- Java面试题大全2021版
一.Java 基础 JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Run ...
- 在MFC对话框中显示图片的三种方法(有两种使用OpenCv)
最近写了一个用对话框显示图片的程序,这里将学习到的东西整理一下: 编程环境:VC6.0+OpenCv1.0 准备工作:用VC6.0生成一个对话框外壳(全被采用默认设置),然后在对话框中添加一个静态控件 ...
- StretchBlt, StretchDIBits函数显示失真问题
StretchBlt, StretchDIBits可以对图像数据进行拉伸, 压缩显示, 但会失真, 解决方法 调用StretchBlt/StretchDIBits之前调用下面那一句 SetStretc ...
- Kotlin协程使用,协程使用注意事项,协程中的await方法使用|不使用suspend使用协程
参见 码云 协程使用方法一 (Dispatchers调度器模式) 指定不同线程.同线程会挂起并阻塞(挂起是不影响主线程执行,阻塞是同样的IO线程会阻塞) withContext(Dispatchers ...
- IDEA中将代码块封装为方法,IDEA代码重构快捷键
IDEA中将代码块封装为方法 选中要转换的代码块,快捷键: Windows快捷键:Alt + Shift + M Mac快捷键:Alt + Command + M 如图:
- IDEA自动生成对象所有set方法
idea中有一款插件能够生成对象所有的set方法,GenerateAllSetter :下载地址 步骤1:将下载好的压缩包放在自己记得的文件夹中,在idea中进行导入 步骤2:在本地选中刚才的压缩包, ...
- List元素互换,List元素转换下标,Java Collections.swap()方法实例解析
Java Collections.swap()方法解析 jdk源码: public static void swap(List<?> list, int i, int j) {// ins ...
- java1.8新增超实用Map方法——Map.getOrDefault()和Map.value()方法详解
1. Map.getOrDefault() 翻译一下官方解释: java.util.Map<K, V> V getOrDefault(Object key, V defaultValue) ...
- spring boot项目 中止运行 最常用的几种方法
spring boot项目 中止运行 最常用的几种方法: 1. 调用接口,停止应用上下文 @RestController public class ShutdownController impleme ...
最新文章
- php ajax formdata 进度,使用formdata使用ajax将数据发送到PHP
- 皮一皮:这样的女生还有吗?
- hex editor怎么搜索代码_代码审计从入门到放弃(三) phplimit
- Python获取.wav音频的时长
- 谈*静态页*(或网页*静态化*)的时候,请区分一些概念(转)
- spring cloud feign 上传文件报not a type supported by this encoder解决方案
- 占用系统资源测试_高频性能测试面试题15道
- xcode w情ndows版,xcode Windows版安装使用介绍
- : Attribute xmlns was already specified for element web-app.
- Python中的pip包管理工具被删除重新进行安装
- Jquery封装幻灯片效果
- 接口自动化测试框架必备的9个功能举例
- MySQL 批量插入申请自增 ID
- android mtk wifi 移植,【搬运】 MTK手机移植ROM及修复部分bug教程(含跨CPU)
- 利用记事本编写html代码和word实现A4信笺纸(信签纸)电子版的两种设计法
- luckySheet在线编辑excel及遇到的问题
- 2021年10月-精品总结汇报PPT模板-15套
- SQL 语法(超级详细)
- php 开启dcom,快速解决PHP调用Word组件DCOM权限的问题讲解
- 苹果设计组件库_建立设计系统和组件库
热门文章
- IP地址归属地和手机号码归属地批量查询(单次支持500个以内,支持结果导出xls)
- Mujoco-一阶单摆建模与控制
- c语言如何输出动态数组,C语言动态数组的使用实现代码
- echarts的tooltip提示框
- MatLab绘制直方图
- 维修手册 html 打开,戴尔Dell Latitude E6410/E6510官方拆机图解维修手册
- 比亚迪宋Pro电路图和维修手册
- Matlab如何滤出高音,基于Matlab滤波器及均衡器设计
- 视频教程-Visio应用视频教程(下)-Office/WPS
- visio UML图 视频学习