我正在拍攝一張圖像並使用畫布將其繪製到屏幕上。我想根據屏幕尺寸縮放它。Android:如何使用畫布/繪製位圖來縮放位圖以適合屏幕尺寸?
這是我試過,但它切斷一大塊形象:
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
int width = metrics.widthPixels;
int height = metrics.heightPixels;
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(),R.drawable.myimage);
bitmap = Bitmap.createScaledBitmap(bitmap, width, height, false);
Rect frameToDraw = new Rect(0, 0, width, height);
RectF whereToDraw = new RectF(0, 0, width, height);
canvas.drawBitmap(bitmap,frameToDraw,whereToDraw, paint);
我知道我現在做的幾件事情錯了,但我不完全相信。此代碼會導致圖像超出屏幕的大小。我希望它被縮放到屏幕的大小。我也將繪製較小的圖像,我還需要根據將縮放到屏幕大小,但不是全屏。
所以我認爲*的「寬度」和「高度」變量*是我的屏幕尺寸。它們來自顯示指標。這是不正確的? – jagrakye
我試圖設置我的位圖縮放到一個特定的大小,我看到的「frametodraw」完全相同的大小,然後設置繪製到我從顯示指標中獲取的高度和寬度的位置,但我仍然只看到正在抓取圖像的一部分 – jagrakye
劃痕。我想我明白了。讓我嘗試一些其他的東西,並回到這個。 – jagrakye