解决StretchBlt()压缩图片失真
来源:互联网 发布:unity3d 超级玛丽 编辑:程序博客网 时间:2024/04/20 13:31
原文链接:http://blog.sina.com.cn/s/blog_63f5655a0100ht8j.html
vc中位图伸缩函数StretchBlt在对图片进行缩放时会造成严重的图片失真。在了解解决方法前先巩固下StretchBlt的用法:
StretchBlt
函数功能:函数从源矩形中复制一个位图到目标矩形,必要时按目前目标设备设置的模式进行图像的拉伸或压缩。
函数原型:BOOL StretchBlt(HDC hdc, int nXOriginDest, intnYOriginDest, int nWidthDest, int nHeighDest, HDC hdcSrc, intnXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, DWORDdwRop);
参数:
hdcDest:指向目标设备环境的句柄。
nXOriginDest:指定目标矩形左上角的X轴坐标,按逻辑单位表示坐标。
nYOriginDest:指定目标矩形左上角的Y轴坐标,按逻辑单位表示坐标。
nWidthDest:指定目标矩形的宽度,按逻辑单位表示宽度。
nHeightDest:指定目标矩形的高度,按逻辑单位表示高度。
hdcSrc:指向源设备环境的句柄。
nXOriginSrc:指向源矩形区域左上角的X轴坐标,按逻辑单位表示坐标。
nYOriginSrc:指向源矩形区域左上角的Y轴坐标,按逻辑单位表示坐标。
nWidthSrc:指定源矩形的宽度,按逻辑单位表示宽度。
nHeightSrc:指定源矩形的高度,按逻辑单位表示高度。
dwRop:指定要进行的光栅操作。光栅操作码定义了系统如何在输出操作中组合颜色,这些操作包括刷子、源位图和目标位图等对象。参考BitBlt可了解常用的光栅操作码列表。
返回值:如果函数执行成功,那么返回值为非零,如果函数执行失败,那么返回值为零。WindowsNT:若想获得更多的错误信息,请调用GetLastError函数。
参数:
hdcDest:指向目标设备环境的句柄。
nXOriginDest:指定目标矩形左上角的X轴坐标,按逻辑单位表示坐标。
nYOriginDest:指定目标矩形左上角的Y轴坐标,按逻辑单位表示坐标。
nWidthDest:指定目标矩形的宽度,按逻辑单位表示宽度。
nHeightDest:指定目标矩形的高度,按逻辑单位表示高度。
hdcSrc:指向源设备环境的句柄。
nXOriginSrc:指向源矩形区域左上角的X轴坐标,按逻辑单位表示坐标。
nYOriginSrc:指向源矩形区域左上角的Y轴坐标,按逻辑单位表示坐标。
nWidthSrc:指定源矩形的宽度,按逻辑单位表示宽度。
nHeightSrc:指定源矩形的高度,按逻辑单位表示高度。
dwRop:指定要进行的光栅操作。光栅操作码定义了系统如何在输出操作中组合颜色,这些操作包括刷子、源位图和目标位图等对象。参考BitBlt可了解常用的光栅操作码列表。
返回值:如果函数执行成功,那么返回值为非零,如果函数执行失败,那么返回值为零。WindowsNT:若想获得更多的错误信息,请调用GetLastError函数。
调用StretchBlt前调用:
SetStretchBltMode(pDC->m_hDC,STRETCH_HALFTONE);
对比一下:
阅读全文
1 0
- 解决StretchBlt()压缩图片失真
- 解决StretchBlt()压缩图片失真
- 解决StretchBlt()压缩图片失真深入探讨
- StretchBlt()压缩图片失真
- MFC学习之 解决StretchBlt()压缩图片失真
- VC解决stretchblt 失真问题
- 解决StretchBlt()图像失真问题
- stretchblt为什么会造成图片失真
- 【VS开发】MFC学习之 解决StretchBlt()图片缩放绘图失真
- 图片压缩不失真
- StretchBlt缩小扩大失真
- MFC StretchBlt()失真
- 图片极致压缩,不失真
- android图片压缩不失真
- 解决UIImage在压缩时失真问题,压缩图片的大小
- 图片压缩算法,保证图片不失真
- VC 解决图片失真问题
- tabBar图片颜色 失真解决
- mybatis-全局配置文件-mybatis-config.xml- typeAliases-5
- Azure虚拟机挂载数据磁盘
- ubuntu eigen 安装与使用
- oracle权限不足
- 安卓中关于Fragment的偶发异常。
- 解决StretchBlt()压缩图片失真
- Gradle for Android 第三篇( 依赖管理 )
- .net framework、C#、CLR、Visual Studio的对应关系。
- 史上最简单的 MySQL 教程(十八)「关系」
- eclipse连不上linux的zookeeper
- loadrunner问题2:录制好脚本,回放不成功,报0byte,原因IE和lr11不兼容,解决:下载IE8
- MAC下使用iterm2 配置及快键键使用
- eclipse生成接口文档
- excel给某列数据添加引号