GDI中的bitblt函数的速度非常快,但是他对于32位带alpha通道无能为力,GDI中唯一可以显示32位的函数是Alphablend函数,而这个函数要正确显示必须保证其数据是PARGB格式的,在数字图像处理时,我们的数据一般是ARGB的,所以要正确显示,还要一个乘积的过程,这样速度就不够快,GDI+中的Drawimage函数可以很好的实现绘制32位图像,但是我实测这个函数要很慢很慢啊,我想问下GDI+中有那些参数的设置可以提高这个函数的性能,或者有可替代的函数吗?
解决方案 »
- 请问获取与指定的值相关联的键
- [询问C#高手] 关于启动两个同名进程实例碰到的问题,50分请教,关注即有分
- 问三个有关Add-In技术的难题,恳请高手帮忙
- C# DllImport导入非托管DLL帮忙看下哪有问题?
- 讨论:研究System.Dianostics命名空间--为windows和web应用程序提供一个安全网的特殊功能
- 代码写在哪里好呢?
- C# WPF 中 PasswordBox 怎样将光标设定在某个位置 比如 最后
- “System.DateTime”表示“类”,它在给定的上下文中无效
- 请问c#访问PLC有没有现成好用的组件?
- 各位老大,C#使用的类库在哪儿找?另外还有问题,请进入......
- csc无法编译cs文件问题
- 安全漏洞?C#实现越过CSDN博客中不能使用CSS的style标签功能,顶就有分
GDI+中也没有什么可以使DrawImage加速的.
你呢,我觉得对于图像还不怎么了解,双缓冲是用来避免闪烁的,和提高绘图速度是两个方面的问题。我搜了一下,关于这个问题,很多人都提过,比如这个:
http://hi.baidu.com/shangxing214/blog/item/08825da5ca2bfcf09052eebe.htmlhttp://bbs.ngacn.cc/read.php?tid=2654679基本上是没有办法的,cachedbitmap虽然能提高速度,但是不能用来显示缩放,还有很多其他限制。
可能还是你的代码有问题.