在画图的时候,图片如果旋转或缩放之后,总是会出现那些华丽的锯齿。其实Android自带了解决方式。
方法一:给Paint加上抗锯齿标志。然后将Paint对象作为参数传给canvas的绘制方法。
- paint.setAntiAlias(true);
方法二:给Canvas加上抗锯齿标志。
有些地方不能用paint的,就直接给canvas加抗锯齿,更方便。
- canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG));
测试代码如下:
- 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编程画图之抗锯齿解决方法。分享给大家供大家参考,具体如下: 在画图的时候,图片如果旋转或缩放之后,总是会出现那些华丽的锯齿。其实Android自带了解决方式。 方法一:给Paint加上抗锯齿...
在画图的时候,图片如果旋转或缩放之后,总是会出现那些华丽的锯齿。其实Android自带了解决方式。 方法一:给Paint加上抗锯齿标志。然后将Paint对象作为参数传给canvas的绘制方法。 paint.setAntiAlias(true); ...
用GDI+消除画直线的锯齿,C++ Chart的使用
Android画图之Matrix剖析Android画图之Matrix剖析Android画图之Matrix剖析Android画图之Matrix剖析Android画图之Matrix剖析Android画图之Matrix剖析Android画图之Matrix剖析
GDI 绘制过程中有锯齿现象,这部分代码可以有效实现抗锯齿功能(线条、矩形,圆角矩形、多边形,圆形、椭圆.....)
Android画图学习.pdf Android画图学习 • Android画图学习总结(一)——类的简介 • Android画图学习总结(二)——Bitmap • Android画图学习总结(三)——Drawable • Android画图学习总结(四)——...
Android 画图程序源码.rar
android画图
android 画图集合.zip
android画图程序源代码介绍: 这是一个自动画图的程序,会自动改变图形的颜色,效果如下图所示:
android 画图小例子 android 画图小例子 android 画图小例子
android画图源码,可以在android屏幕中显示多条线段,涉及坐标映射等问题。
android平台画图板程序,可画图可擦除绘图功能实现,通过自定义View实现,转载请注明出处!
这里是一个利用Canvas实现的集合程序。利用这个项目,你可以学到很多和Canvas相关的技术。
MFC 工程,GDI(非GDI+)画线反走样处理,抗锯齿,画图时可自行加上简单的平滑处理
使用Canvas实现绘图 全屏手写等功能 代码简单清晰易读易懂 扩展性 移植性强
关于AChartEngine AChartEngine是为android应用而设计的绘图工具库。目前该库的最新稳定版本是0.7,支持绘制以下类型的图表:
这是一个自动画图的程序,会自动改变图形的颜色。