在这里,我得到了一些用 ID2D1RenderTarget::FillOpacityMask 渲染的图像(我实际上用 ID2D1DeviceContext2 指针调用了这个函数,但它引用了 ID2D1RenderTarget 接口......)。
所以我对渲染质量不满意。原始图像具有完美的分辨率,并且比我渲染它的限制矩形大得多。
d2d_device_context->CreateBitmapFromWicBitmap(
wicConverter,
NULL,
&bitmap
);
d2d_device_context->SetAntialiasMode(D2D1_ANTIALIAS_MODE_ALIASED);
d2d_device_context->FillOpacityMask(
myBitmap,
myBrushMask,
D2D1_OPACITY_MASK_CONTENT_GRAPHICS,
limitRect,
renderRect
);
d2d_device_context->SetAntialiasMode(D2D1_ANTIALIAS_MODE_PER_PRIMITIVE);
这是我使用的代码。选择D2D1_INTERPOLATION_MODE
喜欢DrawBitmap
或喜欢DrawImage
不需要任何因素。
如何提高渲染质量?