Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android圖形圖像之以Bitmap作為Canvas畫布的材料

Android圖形圖像之以Bitmap作為Canvas畫布的材料

編輯:關於Android編程

概述

當以Bitmap作為畫布材料時,可以繪制出以下各種圖案:

這裡寫圖片描述

demo

/**
 * 圖形圖像處理:在Bitmap上繪畫
 */
public class MyBitMapViewSec extends View {

    private int width;
    private int height;

    private Paint mPaintCircle;
    private Paint mPaintRect;
    private Bitmap mBitmap;

    private Canvas mCanvasBm;
    public MyBitMapViewSec(Context context) {
        super(context);
    }

    public MyBitMapViewSec(Context context, AttributeSet attrs) {
        super(context, attrs);
        mPaintCircle = new Paint();
        mPaintCircle.setColor(Color.YELLOW);

        mPaintRect = new Paint();
        mPaintRect.setColor(Color.GREEN);
        //XOR:交疊和被交疊部分均不顯示;DST_OVER:自身交疊部分不顯示;SRC_OVER交疊部分只顯示自己
        PorterDuffXfermode mode = new PorterDuffXfermode(PorterDuff.Mode.XOR);
        mPaintRect.setXfermode(mode);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        width = getDefaultSize(getSuggestedMinimumWidth(), widthMeasureSpec);
        height = getDefaultSize(getSuggestedMinimumHeight(), heightMeasureSpec);
        setMeasuredDimension(width, height);
        //參數:畫布寬、長尺寸和格式
        mBitmap = Bitmap.createBitmap(width,height, Bitmap.Config.ARGB_8888);
        mCanvasBm = new Canvas(mBitmap);//自定義一個畫布,畫布材料是Bitmap對象
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        canvas.drawColor(Color.RED);

        //先在bitmap上畫
        mCanvasBm.drawCircle(width / 2, height / 2, width / 2, mPaintCircle);
        mCanvasBm.drawRect(0,0,width/2,width/2,mPaintRect);
        //將畫好的bitmap畫出來
        canvas.drawBitmap(mBitmap,0,0,null);//這一步必不可少

    }
}

結果演示:
PorterDuffXfermode mode = new PorterDuffXfermode(參數);
參數為PorterDuff.Mode.DST_OVEL時:
這裡寫圖片描述

參數為PorterDuff.Mode.XOR時:
這裡寫圖片描述

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved