好吧,所有這些東西折磨我很長一段時間,我設置了一個227像素高的圖像,將其縮放到170像素,即使我希望它是wrap_content,我也可以。java Android - 以編程方式處理圖像縮放/裁剪
好的。在這裏,我把我的圖像是1950像素長(我把它放在這裏的一部分,所以你可以瞭解它應該是什麼樣子)。
首先,我要縮放回227個像素高,因爲這是它是如何設計的,它應該如何
Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),R.drawable.ver_bottom_panel_tiled_long);
int width = bitmapOrg.getWidth();
int height = bitmapOrg.getHeight();
int newWidth = 200; //this should be parent's whdth later
int newHeight = 227;
// calculate the scale
float scaleWidth = ((float) newWidth)/width;
float scaleHeight = ((float) newHeight)/height;
// create a matrix for the manipulation
Matrix matrix = new Matrix();
// resize the bit map
matrix.postScale(scaleWidth, scaleHeight);
// recreate the new Bitmap
Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0,
width, height, matrix, true);
BitmapDrawable dmpDrwbl=new BitmapDrawable(resizedBitmap);
verbottompanelprayer.setBackgroundDrawable(dmpDrwbl);
所以......它不是一個裁剪圖像在所有 - 不,它是1950像素壓入200像素。
,但我想只是削減除了這個200個像素或什麼的寬度,我會設置什麼 - 作物,而不是按這一切的長形圖像爲200個像素面積。
另外,BitmapDrawable(位圖位圖);和imageView.setBackgroundDrawable(drawable);已棄用 - 我該如何改變這種情況?
能否請您給我的例子,如何用Bitmap.CreateBitmap裁剪呢?它只是還沒有收穫,只是試圖把整個圖像放進去。可能是我做錯了什麼? – user2234594
你檢查了我剛給你的鏈接嗎?你需要使用正確的功能。無論如何,我寫了一個示例代碼,但我不確定它是否編譯良好。 –
好吧,這就是問題所在 - 我很想使用BitmapRegionDecoder,但它僅適用於文件。但我想用資源 - 不同的dpi。處理文件會使這變得複雜。有什麼辦法使用BitmapRegionDecoder的資源? – user2234594