android canvas繪製圖片時如何控制圖片大小

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_image_doodle);
            int mBitWidth = bitmap.getWidth();
            int mBitHeight = bitmap.getHeight();

            float baseY = getHeight() / 2 - (textPaint.ascent() + textPaint.descent()) / 2;
            Rect mSrcRect = new Rect(0, 0, mBitWidth, mBitHeight);

            // 計算左邊位置
            int left = getWidth()/2 - mBitWidth / 2;
// 計算上邊位置
            int top = getHeight()/2 - mBitHeight / 2;
            Rect mDestRect = new Rect(left, top, left + mBitWidth, top + mBitHeight);
//            Rect mDestRect = new Rect(0, 0, mBitWidth, mBitHeight);

//            canvas.drawBitmap(bitmap,getWidth() / 2, baseY, textPaint);
            canvas.drawBitmap(bitmap,mSrcRect,mDestRect,textPaint);

上方代碼中,mSrcRect 就是圖片大小,你寫多大,圖片就有多大。  mDestRect 是繪製區域。

如果大小    mDestRect >= mSrcRect   圖片能全部顯示 反之,圖片就不能被全部展示出來。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章