欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android編程畫圖之抗鋸齒解決方法

 更新時間:2016年01月08日 14:31:25   作者:chroya  
這篇文章主要介紹了Android編程畫圖之抗鋸齒解決方法,分析了兩種抗鋸齒的實(shí)現(xiàn)方法,并給出了實(shí)例代碼進(jìn)行總結(jié),需要的朋友可以參考下

本文實(shí)例分析了Android編程畫圖之抗鋸齒解決方法。分享給大家供大家參考,具體如下:

在畫圖的時候,圖片如果旋轉(zhuǎn)或縮放之后,總是會出現(xiàn)那些華麗的鋸齒。其實(shí)Android自帶了解決方式。

方法一:給Paint加上抗鋸齒標(biāo)志。然后將Paint對象作為參數(shù)傳給canvas的繪制方法。

復(fù)制代碼 代碼如下:
paint.setAntiAlias(true);

方法二:給Canvas加上抗鋸齒標(biāo)志。

有些地方不能用paint的,就直接給canvas加抗鋸齒,更方便。

復(fù)制代碼 代碼如下:
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程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論