是否可以使用BitBlt直接从GDI+位图中复制,而不使用GetHBitmap?
由于GetHBitmap会创建整个图像的新副本,并且比BitBlt复制慢,而且给定的HBITMAP必须被处理,因此它很慢。 图像很大。
是否有一种方法可以指向BitBlt以使用原始GDI+图像的像素数据?
编辑:我可以获取指向存储在内存中的GDI+位图像素数据的指针。 我可以创建一个指向GDI+位图像素数据的HBITMAP,以避免多余的复制,并从那里进行BitBlt吗?
由于GetHBitmap会创建整个图像的新副本,并且比BitBlt复制慢,而且给定的HBITMAP必须被处理,因此它很慢。 图像很大。
是否有一种方法可以指向BitBlt以使用原始GDI+图像的像素数据?
编辑:我可以获取指向存储在内存中的GDI+位图像素数据的指针。 我可以创建一个指向GDI+位图像素数据的HBITMAP,以避免多余的复制,并从那里进行BitBlt吗?
Bitmap
对象执行此操作,那么应该只需使用Graphics.DrawImage
,其中Graphics
对象包装了预期的目标DC,为什么还要通过HBitmap
呢? - Rob Kennedy