GDI的DrawImage(Unscaled)如何提高性能?在我的用户控件的绘制处理程序中,我遍历了一组预定义的Bitmap对象,并将它们绘制到客户区:C#version:privatevoidControl_Paint(objectsender,PaintEventArgse){foreach(BitmapObjbmpObjin_bitmapObjCollection){g.DrawImageUnscaled(bmpObj.Bitmap,bmpObj.Location);VB.NET版本:PrivateSubControl_Paint(ByValsenderAsObject,ByValeAsPaintEventArgs)HandlesMyBase.PaintDimgAsGraphics=e.GraphicsForEachbmpObjAsBitmapObjIn_bitmapObjCollectiong.DrawImageUnscaled(bmpObj.Bitmap,bmpObj.Location)NextEndSub代码工作正常,但当将十几个对象添加到集合中时,代码开始陷入困境。我的问题是:有没有办法加快速度?是否可以使用Win32bitblt函数来替换DrawImageUnscaled?如果是这样怎么办?谢谢!注意:谷歌搜索BitBlt的使用到目前为止只产生了我的屏幕加盖样本......为时已晚,但也许其他人需要解决方案。我创建了具有类似GDI+语法的小型库GLGDI+,它在OpenTK上运行:http://code.google.com/p/glgdiplus/我不确定稳定性,它有一些DrawString问题(来自OpenTKTextPrint问题)。但是,如果您需要提高实用程序的性能(例如我的关卡编辑器),它可能是解决方案。以上就是C#学习教程:如何提高GDI的DrawImage(Unscaled)的性能?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
