时间:2021-05-19
在画图的时候,图片如果旋转或缩放之后,总是会出现那些华丽的锯齿。其实Android自带了解决方式。
方法一:给Paint加上抗锯齿标志。然后将Paint对象作为参数传给canvas的绘制方法。
方法二:给Canvas加上抗锯齿标志。
有些地方不能用paint的,就直接给canvas加抗锯齿,更方便。
复制代码 代码如下:
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG));
eg:
import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.PaintFlagsDrawFilter; import android.view.View; public class MyView extends View { private PaintFlagsDrawFilter pfd; private Paint mPaint = new Paint(); private Matrix matrix = new Matrix();; private Bitmap bmp; public MyView(Context context) { super(context); initialize(); } private void initialize() { pfd = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG); mPaint.setAntiAlias(true); matrix.setRotate(30); matrix.postScale(0.5f, 0.5f); bmp = BitmapFactory.decodeResource(getResources(), R.drawable.show); } @Override public void dispatchDraw(Canvas canvas) { canvas.translate(100, 0); canvas.drawBitmap(bmp, matrix, null); canvas.translate(0, 250); canvas.drawBitmap(bmp, matrix, mPaint); canvas.setDrawFilter(pfd); canvas.translate(0, 250); canvas.drawBitmap(bmp, matrix, null); } }下图是效果:
可以看出,两种方式都挺有效的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例分析了Android编程画图之抗锯齿解决方法。分享给大家供大家参考,具体如下:在画图的时候,图片如果旋转或缩放之后,总是会出现那些华丽的锯齿。其实And
最近开发App,美工设计了一个有锯齿边沿效果的背景图,只给了我一个锯齿,然后需要平铺展示锯齿效果:android中实现平铺图片有两种方式:(1)在drawabl
显卡开FXAA抗锯齿对显卡本身没有什么危害,FXAA是一种比较节省资源的渲染方式。开启FXAA后,画面整体变得柔和,感觉更加流畅,更加符合真实场景,锯齿的闪烁感
电脑字体模糊怎么办?我也没有现成的模糊图,反正就是网页浏览模糊的问题,有一部分是抗锯齿所致,抗锯齿把文字也抗锯齿,汉字不是很尖吗,抗锯齿后尖的部分会很模糊的
电脑字体模糊怎么办?我也没有现成的模糊图,反正就是网页浏览模糊的问题,有一部分是抗锯齿所致,抗锯齿把文字也抗锯齿,汉字不是很尖吗,抗锯齿后尖的部分会很模糊的。X