Android編程畫圖之抗鋸齒解決方法
本文實(shí)例分析了Android編程畫圖之抗鋸齒解決方法。分享給大家供大家參考,具體如下:
在畫圖的時(shí)候,圖片如果旋轉(zhuǎn)或縮放之后,總是會(huì)出現(xiàn)那些華麗的鋸齒。其實(shí)Android自帶了解決方式。
方法一:給Paint加上抗鋸齒標(biāo)志。然后將Paint對(duì)象作為參數(shù)傳給canvas的繪制方法。
方法二:給Canvas加上抗鋸齒標(biāo)志。
有些地方不能用paint的,就直接給canvas加抗鋸齒,更方便。
測(cè)試代碼如下:
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);
}
}
下圖是效果:

可以看出,兩種方式都挺有效的。
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
Android支持國(guó)際化多語(yǔ)言那點(diǎn)事(支持8.0+)
我們?cè)陂_發(fā)app可能會(huì)拓展國(guó)外市場(chǎng),那么對(duì)包含英語(yǔ)在內(nèi)的其它語(yǔ)言支持就很有必要了。這篇文章主要介紹了Android支持國(guó)際化多語(yǔ)言那點(diǎn)事(支持8.0+),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
Android 實(shí)現(xiàn)文字左右對(duì)齊
這篇文章主要介紹了Android 實(shí)現(xiàn)文字左右對(duì)齊效果的方法,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下2021-05-05
使用Compose制作抖音快手視頻進(jìn)度條Loading動(dòng)畫效果
這篇文章主要為大家介紹了使用Compose制作抖音快手視頻進(jìn)度條Loading動(dòng)畫效果,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
Android編程實(shí)現(xiàn)扭曲圖像的繪制功能示例
這篇文章主要介紹了Android編程實(shí)現(xiàn)扭曲圖像的繪制功能,結(jié)合實(shí)例形式較為詳細(xì)的分析了Android圖形扭曲的具體操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-09-09
Android實(shí)現(xiàn)計(jì)時(shí)與倒計(jì)時(shí)的方法匯總
這篇文章主要介紹了Android實(shí)現(xiàn)計(jì)時(shí)與倒計(jì)時(shí)的方法匯總,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-06-06
基于Android CALL && SendMes Test的相關(guān)介紹
本篇文章小編為大家介紹,Android CALL && SendMes Test 需要的朋友參考下2013-04-04
總結(jié)Android中多線程更新應(yīng)用的頁(yè)面信息的方式
這篇文章主要介紹了總結(jié)Android中多線程更新應(yīng)用的頁(yè)面信息的方式,文中共總結(jié)了runOnUiThread、Handler、AsyncTask異步以及View直接在UI線程中更新的方法,需要的朋友可以參考下2016-02-02
Android自定義評(píng)分控件的完整實(shí)例
在Android開發(fā)中,我們經(jīng)常會(huì)用到對(duì)商家或者商品的評(píng)價(jià),運(yùn)用星星進(jìn)行打分,下面這篇文章主要給大家介紹了關(guān)于Android自定義評(píng)分控件的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05

