国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android畫圖之抗鋸齒paint和Canvas兩種方式實例

2019-12-12 03:06:25
字體:
來源:轉載
供稿:網友

在畫圖的時候,圖片如果旋轉或縮放之后,總是會出現那些華麗的鋸齒。其實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);   } } 

下圖是效果:

可以看出,兩種方式都挺有效的。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 威远县| 全椒县| 怀集县| 泰宁县| 白山市| 剑河县| 洛阳市| 平湖市| 宜川县| 霍邱县| 京山县| 永兴县| 肥城市| 绥芬河市| 文登市| 安国市| 巴楚县| 枝江市| 柳河县| 南安市| 怀化市| 财经| 无棣县| 岑溪市| 方正县| 克拉玛依市| 黄龙县| 岑巩县| 荣昌县| 邵武市| 商丘市| 镇原县| 华坪县| 绵阳市| 江阴市| 临沂市| 韶山市| 稻城县| 富裕县| 中阳县| 潼南县|