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

首頁 > 系統 > Android > 正文

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

2019-10-23 18:31:32
字體:
來源:轉載
供稿:網友

在畫圖的時候,圖片如果旋轉或縮放之后,總是會出現那些華麗的鋸齒。其實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/141121.html">android/237714.html">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,canvas抗鋸齒,paint,抗鋸齒

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

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


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 枣阳市| 英德市| 阿拉善左旗| 白沙| 澄迈县| 沾益县| 永州市| 兴国县| 唐山市| 怀安县| 赤峰市| 海宁市| 衢州市| 夹江县| 吉安市| 河间市| 韶关市| 寿阳县| 江孜县| 绍兴市| 崇左市| 庆元县| 顺平县| 舞钢市| 高青县| 博爱县| 株洲县| 石林| 安徽省| 章丘市| 姜堰市| 广河县| 贺兰县| 什邡市| 济宁市| 安溪县| 南雄市| 教育| 滁州市| 韶山市| 新蔡县|