大图StretchBlt函数绘制提速
来源:互联网 发布:白金数据影评 编辑:程序博客网 时间:2024/05/17 05:56
MFC中CDC类的StretchBlt用于缩放绘图是挺好用的。
不过对于大像素的默认绘制速度比较慢,例如8196x8196像素,绘制起来很吃力。这种大图一般直接做底图或者一般都不会透明绘制的,所以默认绘制的方式是浪费。
其绘制模式一共有四个:
/* StretchBlt() Modes */#define BLACKONWHITE 1#define WHITEONBLACK 2#define COLORONCOLOR 3#define HALFTONE 4#define MAXSTRETCHBLTMODE 4#if(WINVER >= 0x0400)/* New StretchBlt() Modes */#define STRETCH_ANDSCANS BLACKONWHITE#define STRETCH_ORSCANS WHITEONBLACK#define STRETCH_DELETESCANS COLORONCOLOR#define STRETCH_HALFTONE HALFTONE
一般默认的是 STRETCH_ANDSCANS,会对目标DC进行与操作,ORSCANS类似或操作,HALFTONE调和最慢,最快的是DELETESCANS直接覆盖。
一般情况下覆盖绘制足以满足要求。
SetStretchBltMode函数可以修改默认绘制方式。
所以,pDC->SetStretchBltMode(STRETCH_DELETESCANS);
之后再绘制,会有飞速提升。
0 0
- 大图StretchBlt函数绘制提速
- StretchBlt()函数
- StretchBlt函数用法。
- StretchBlt()与AlphaBlend()函数
- StretchBlt()函数使用
- StretchBlt
- BitBlt函数和StretchBlt函数的使用
- StretchBlt函数和BitBlt函数的用法
- StretchBlt函数和BitBlt函数的用法
- StretchBlt函数和BitBlt函数的用法
- StretchBlt函数和BitBlt函数的用法
- StretchBlt 函数关于 放缩 翻转
- AlphaBlend/StretchBlt/BitBlt 三个函数介绍
- StretchBlt, StretchDIBits函数显示失真问题
- 使用StretchBlt函数进行图像缩放
- 使用StretchBlt函数进行图像缩放
- 使用StretchBlt函数进行图像缩放
- 使用StretchBlt函数进行图像缩放
- Generate Parentheses
- 为什么要进行预加重?
- Linux进程间通信(二)---管道通信之无名管道及其基础实验
- unity导入模型后贴图丢失
- linux 编译 openssl DES_SPtrans
- 大图StretchBlt函数绘制提速
- 消费者和生产者性能测试
- Asp.Net MVC 4 Web API 中的安全认证-使用OAuth
- PHPexcel设置单元格日期格式
- KVM虚拟机配置网桥连接网络
- INSTALL_FAILED_INSUFFICIENT_STORAGE 错误解决
- 俊逸,看似柔弱,却亭亭玉立,
- 通过网页的JS代码启动移动APP
- Dev Express的CheckedListBoxControl全选及遍历方法