簡體   English   中英

圖像縮放Android

[英]Image Scaling Android

我正在顯示從圖庫到Imageview的圖像。

我正在使用下面的代碼

 Bitmap background = Bitmap.createBitmap((int) width, (int) height, Bitmap.Config.ARGB_8888);
                float originalWidth = bMap.getWidth(), originalHeight = bMap.getHeight();
                Canvas canvas = new Canvas(background);
                float scale = width/originalWidth;
                float xTranslation = 0.0f, yTranslation = (height - originalHeight * scale)/2.0f;
                Matrix transformation = new Matrix();
                transformation.postTranslate(xTranslation, yTranslation);
                transformation.preScale(scale, scale);
                Paint paint = new Paint();
                paint.setFilterBitmap(true);
                canvas.drawBitmap(bMap, transformation, paint);
                imageView1.setImageBitmap(background);

情況1:工作。

原始圖片

以上代碼的輸出。

情況2:無法運作

原始圖像。

以上代碼的輸出。

在情況2中,為什么無法正確縮放圖像以填充imageview? 請讓我知道我要去哪里了。

Android已經提供了一種創建縮放位圖的方法。 查看此鏈接

您要伸展嗎? 使用fitxy。

在布局xml文件中的ImageView上使用scaleType屬性。

例:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:scaleType="centerCrop" />

然后,您可以使用setImageUri(Uri uri)ImageView上設置圖像(我假設您有要顯示的圖像的Uri)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM