出于性能原因,我试图将应用程序从GDI +移到Direct2D。
显然我在HALFTONE模式下使用了StretchBlt(),这会产生很好但很慢的结果。
现在我使用RenderTarget-> DrawBitmap()绘制Direct2D,但它只有两种模式,LINEAR和NEAREST_NEIGHBOR,两者都不是很好。 LINEAR更好,但仍会产生可怕的文物。
Direct2D是否有任何高质量的缩放选项?如果没有,我最好坚持使用GDI还是有其他选择?这是一个在带有各种Win32控件的窗口中运行的Windows应用程序。
答案 0 :(得分:7)
Direct2D 1.0仅支持线性和最近邻插值。 Direct2D 1.1增加了四种额外的插值算法。这些可通过新设备上下文呈现目标(ID2D1DeviceContext
)及其DrawBitmap
和DrawImage
方法获得。看看D2D1_INTERPOLATION_MODE
枚举: