我想在画布上绘制比实际尺寸更大的位图。我可以使用 canvas.drawBitmap(bitmap, null, destRect, null);但是,如果源图像比目标矩形小得多,那么质量就会很差,因为结果会像素化。
如何使用双线性或双三次重采样绘制位图?
任何帮助将不胜感激,谢谢。
您需要在绘画中设置 FILTER_BITMAP_FLAG 标志。
canvas.drawBitmap(bitmap, matrix, null); //ugly jaggies unless scale is 1:1, but fast
or
Paint paint = new Paint();
paint.setFilterBitmap();
canvas.drawBitmap(bitmap, matrix, paint); // pretty but slower (not too slow, usually)
这同样适用于其他(语法糖)形式drawBitmap
method.
大多数 Android 绘图选项都没有文档,也没有执行渲染的底层本机 Skia 库的文档。如果有的话我会更高兴。您可以在 Google 代码搜索上搜索 Skia 源代码。搜索 Skia 并挖掘原始来源;这是唯一的文档。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)