c# BitMap GetHbitmap()耗时很高有没有什么办法

813949669 2020-09-22 04:19:29
IntPtr hdcPtr = e.Graphics.GetHdc();
IntPtr memdcPtr = CreateCompatibleDC(hdcPtr); // 创建兼容DC
//耗时较高
IntPtr bmpPtr = MainImage.GetHbitmap();
SelectObject(memdcPtr, bmpPtr);
BitBlt(hdcPtr, 0, 0, MainImage.Width, MainImage.Height, memdcPtr, 0, 0, SRCCOPY);
DeleteDC(memdcPtr);
DeleteObject(bmpPtr);
e.Graphics.ReleaseHdc(hdcPtr);


现在绘制一次需要11毫秒,光这个函数就占了8毫秒左右
...全文
1036 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2020-09-22
  • 打赏
  • 举报
回复
都是调用的库,没办法优化,可以用双缓冲之类的避免卡顿。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧