Android画图之抗锯齿paint和Canvas两种方式实例
2017-04-13 15:33
746 查看
在画图的时候,图片如果旋转或缩放之后,总是会出现那些华丽的锯齿。其实Android自带了解决方式。
方法一:给Paint加上抗锯齿标志。然后将Paint对象作为参数传给canvas的绘制方法。
paint.setAntiAlias(true);
方法二:给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); } }
下图是效果:
可以看出,两种方式都挺有效的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- Android画图之抗锯齿 paint 和 Canvas 两种方式
- Android画图之抗锯齿 paint 和 Canvas 两种方式
- Android画图之抗锯齿 paint 和 Canvas 两种方式
- Android画图学习总结(一)——Android Drawable、Bitmap、Canvas和Paint的区别
- 【Android】BroadcastReceiver简介和用法实例,两种注册方式 (二)
- Android游戏开发之旅(四)Canvas和Paint实例
- Android画图最基本的三个对象(Color,Paint,Canvas)
- Android画图最基本的三个对象(Color,Paint,Canvas)
- android画布canvas刷屏的两种方式
- Android 画图Paint和Canvas
- Android画图最基本的三个对象(Color,Paint,Canvas)
- Android画图最基本的三个对象(Color,Paint,Canvas)
- Android游戏开发之旅四 Canvas和Paint实例
- 【Android】 Canvas、Path 和 Paint 实例 (游戏开发必备)
- Android使用学习之画图(Canvas,Paint)与手势感应及其应用(乒乓球小游戏)
- 【Android】 Canvas、Path 和 Paint 实例 (游戏开发必备)
- Android游戏开发教程之四:Canvas与Paint的应用实例
- Android Canvas 两种使用方式
- android通过Canvas和Paint截取无锯齿圆形图片
- Android画图最基本的三个对象(Color,Paint,Canvas)