本文实例分析了Android编程画图之抗锯齿解决方法。分享给大家供大家参考,具体如下:

在画图的时候,图片如果旋转或缩放之后,总是会出现那些华丽的锯齿。其实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程序设计有所帮助。

java画图抗锯齿_Android编程画图之抗锯齿解决方法相关推荐

  1. linux没有jre文件夹,linux上配置jdk时,java命令提示没有此文件或文件夹的解决方法...

    linux上配置jdk时,java命令提示没有此文件或文件夹的解决方法 出现这个问题可能有以下几种原因: 1.对该文件没有执行的权限. 2.我们的机器是64位的,而下载的jdk是32位的. 我就是后一 ...

  2. Java中url传递中文参数取值乱码的解决方法

    Java中url传递中文参数取值乱码的解决方法 参考文章: (1)Java中url传递中文参数取值乱码的解决方法 (2)https://www.cnblogs.com/liwenjuan/p/3211 ...

  3. Java读带有BOM的UTF-8文件乱码原因及解决方法(转)

    转载:http://www.linuxidc.com/Linux/2012-12/76707.htm 最近在处理文件时发现了同样类型的文件使用的编码可能是不同的.所以想将文件的格式统一一下(因为UTF ...

  4. Java读取UTF-8格式txt文件第一行出现乱码及解决;Java读带有BOM的UTF-8文件乱码原因及解决方法(转载)...

    原文地址:http://blog.csdn.net/jackpk/article/details/5702964/ Java读取UTF-8的txt文件第一行出现乱码"?"及解决 t ...

  5. Java读带有BOM的UTF-8文件乱码原因及解决方法

    Java读带有BOM的UTF-8文件乱码原因及解决方法 Java读带有BOM的UTF-8文件乱码原因及解决方法 - daimojingdeyu - ITeye技术网站 Java读带有BOM的UTF-8 ...

  6. java并发编程之 并发问题及解决方法

    一.并发问题的根源 首先,我们要知道并发要解决的是什么问题?并发要解决的是单进程情况下硬件资源无法充分利用的问题.而造成这一问题的主要原因是CPU-内存-磁盘三者之间速度差异实在太大.如果将CPU的速 ...

  7. android获取随机颜色_Android编程实现随机生成颜色的方法示例

    本文实例讲述了Android编程实现随机生成颜色的方法.分享给大家供大家参考,具体如下: 网上有个ColorPicker开源项目,选择颜色值.而在这里我想实现的是动态修改一个view的背景色. 开一个 ...

  8. ant 时 --java.lang.NoSuchMethodError: org.apache.tools.ant.util.FileUtils.getFileUtils 解决方法

    使用ant 时, 有可能出现java.lang.NoSuchMethodError: org.apache.tools.ant.util.FileUtils.getFileUtils的错误 但是直接命 ...

  9. java json utf-8_java读取json数据发生中文乱码的解决方法

    java读取json数据发生中文乱码的解决方法 发布时间:2020-06-21 15:58:48 来源:亿速云 阅读:268 作者:鸽子 java读取json数据出现乱码的代码://从json文件中读 ...

  10. java 小程序查看器 启动:未初始化小程序 解决方法

    欢迎大家转载,为保留作者成果,转载请注明出处,http://blog.csdn.net/netluoriver,有些文件在资源中也可以下载!如果你没有积分,可以联系我索要! 在运行java程序的时候突 ...

最新文章

  1. 从零开始学习Kafka
  2. DBSAN密度聚类算法
  3. 光纤收发器具体是怎么分类的?
  4. oracle修改物化视图字段,获取物化视图字段的修改矢量(一)
  5. Linux 高可用(HA)集群之keepalived
  6. 西安交大计算机考研分数线2020院线,西安交通大学2020考研复试分数线已公布
  7. C++类和对象的概念
  8. 圆通快递单号yt开头_乡镇快递取件二次收费,四川省消委会点名这些快递公司...
  9. 小米蓝牙耳机驱动_硬核拆解——小米蓝牙耳机
  10. QT信号与槽机制与事件机制的区别
  11. mp4安装Linux,linux centos mp4box 安装教程
  12. 影片相继撤档“520”,在线票务平台等待下一个“黄金档”
  13. vue上线后图片不显示_解决Vue打包后访问图片/图标不显示的问题
  14. APS系统的实施步骤,外行人都能看懂
  15. [谨记]女人面前莫谈年龄
  16. 临时或永久修改cgroup和Cgroup 入门教程:cpuset
  17. uniapp组件-Card卡片
  18. UTC LocalDateTime 根据时区转换
  19. oracle opm系统,ORACLE EBS OPM标准功能培训资料-OPM库存-V1.0
  20. 宏名字不规范,与结构体的成员重名

热门文章

  1. linux用cat建文件,如何使用Linux cat命令
  2. cocoscreator 接入 taptap 登录 防沉迷 实名认证
  3. android gc卡顿,由于频繁GC造成的界面卡顿原因分析
  4. AtCoder从小白到大神的进阶攻略
  5. 阿里月饼门 vs 阿里价值观
  6. java 打开 覆盖文件_如何用JAVA实现文件的覆盖
  7. C#创建文件,覆盖文件,读取文件
  8. C Primer Plus(第6版)第十章复习题答案
  9. 遗传算法求解多元函数极值点-C++实现
  10. Linux驱动面试总结