android画图抗锯齿的几个方法
来源:互联网 发布:软件行业的未来 编辑:程序博客网 时间:2024/04/28 01:20
在画图的时候,图片如果旋转或缩放之后,总是会出现那些华丽的锯齿。其实Android自带了解决方式。
方法一:给Paint加上抗锯齿标志。然后将Paint对象作为参数传给canvas的绘制方法。
Java代码
paint.setAntiAlias(true);
方法二:给Canvas加上抗锯齿标志。
有些地方不能用paint的,就直接给canvas加抗锯齿,更方便。
Java代码
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG));
测试代码如下:
Java代码
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); }}
下图是效果:
可以看出,两种方式都挺有效的。
0 0
- android画图抗锯齿的几个方法
- android抗锯齿的几个方法
- android抗锯齿的几个方法
- android画图抗锯齿
- Android 画图抗锯齿
- android 画图的几个方法
- Android画图之抗锯齿
- Android画图之抗锯齿
- Android画图之抗锯齿
- android 画图 抗锯齿 代码
- Android画图之抗锯齿
- Android画图之抗锯齿
- Android画图之抗锯齿
- Android画图之抗锯齿
- Android画图之抗锯齿
- gdi+的画图抗锯齿原理
- GDI+抗锯齿画图
- 关于android 画图机制中几个方法的说明
- printf的格式控制字符串
- 漫谈TabBar(一)
- 产品经理需求技能
- HDU 5457 Hold Your Hand【最小割+字典树】
- 安卓的手机抓包
- android画图抗锯齿的几个方法
- swift 元组
- 解决Nginx: [error] open() "/usr/local/Nginx/logs/Nginx.pid
- 含简单链式调用的ajax类库思路及写法
- SpringMVC进阶(一)——结构和流程
- spinner(SimpleCursorAdapter)数据库查询、获取所选中的值
- 阻塞模式下的超时等待
- js循环页面每行iniput的值
- 在XP系统上出现无法定位程序输入点 K32GetProcessMemoryInfo