Per*_*man 1 antialiasing xamarin.forms skiasharp
我正在 Xamarin Forms 中使用 SkiaSharp 绘制位图。抗锯齿功能很差,我想知道如何改进它。
源位图具有抗锯齿功能,如所附图像的左侧所示。右半部分显示了 Android 设备上的屏幕截图的一部分。
在左侧,请注意锯齿是规则的 - 一点深色羽化向上,一点浅色羽化向下,全部均匀。在右侧部分,我们仍然看到羽化,但它在双宽像素和单宽像素之间交替。
绘制位图时
canvas.DrawBitmap(bmpSrc, rectSrcRight, rectDest, paint);
Run Code Online (Sandbox Code Playgroud)
我尝试将绘画 IsAntialiasing() 设置为 true 和 false。无显着差异。
在此示例中,源图像的高度为 61 像素,Android 图像的高度为 102。
我是不是期待太多了?
您可以尝试使用以下代码:
SKPaint paint = new SKPaint
{
IsAntialias = true,
FilterQuality = SKFilterQuality.High
};
canvas.DrawBitmap(bmpSrc, rectSrcRight, rectDest, paint);
Run Code Online (Sandbox Code Playgroud)
虽然IsAntialias不适用于位图,但我也添加了它。如果要连续绘制位图,则会占用更多内存。
如果您有更好的方法让它工作并且不占用更多内存,请在这里分享讨论。
| 归档时间: |
|
| 查看次数: |
1000 次 |
| 最近记录: |