1. 程式人生 > >android Canvas、Bitmap、Paint

android Canvas、Bitmap、Paint

Canvas 畫家、繪製工具

1.drawBitmap

        /**
         * bitmap 要繪製的點陣圖物件
         * src 要裁切的位置,若是null則顯示整張圖片
         * dst 裁切後的圖片顯示的區域
         * paint 畫筆
         */
drawBitmap(Bitmap bitmap,  Rect src,  RectF dst,Paint paint)

2.drawText

        /**
         * text 要繪製的文字
         * x 文字左端座標
         * y 文字基線y值
         * paint 畫筆
         */
drawText(String text, float x, float y, @NonNull Paint paint)

看張圖更好理解
這裡寫圖片描述

Bitmap 畫布

1.getPixels

            /**
             * getPixels()函式把一張圖片,從指定的偏移位置(offset),指定的位置(x,y)擷取指定的寬高(width,height)
             * 把所得影象的每個畫素顏色轉為int值,存入pixels。
             * stride 引數指定在行之間跳過的畫素的數目。圖片是二維的,存入一個一維陣列中,那麼就需要這個引數來指定多少個畫素換一行。
             */
getPixels(@ColorInt int[] pixels, int offset, int stride,int x, int y, int width, int height)

Paint 畫筆

            mTopPaint.setXfermode(porterDuffXfermode);
            mCanvas.drawPath(mPath, mTopPaint);
            //還原混合模式
            mTopPaint.setXfermode(null);