在Kotlin Android Studio中缩放图像大小

在Kotlin Android Studio中缩放图像大小,android,android-studio,kotlin,png,Android,Android Studio,Kotlin,Png,我从一个大小为192x192的api接收到一个base64映像。我使用以下代码将base64数据更改为位图 fun Base64ToBitmap(myImageData: String): Bitmap { val imageAsBytes = Base64.decode(myImageData.toByteArray(), Base64.DEFAULT) return BitmapFactory.decodeByteArray(imageAsBytes, 0, imag

我从一个大小为192x192的api接收到一个base64映像。我使用以下代码将base64数据更改为位图

    fun Base64ToBitmap(myImageData: String): Bitmap {
    val imageAsBytes = Base64.decode(myImageData.toByteArray(), Base64.DEFAULT)
    return BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.size)
}
然后,我使用以下代码替换ImageView以前的内容

ImageHeader.setImageBitmap(img)
该ImageHeader的xml如下所示

<ImageView
    android:id="@+id/ImageHeader"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="100dp"
    android:contentDescription="@string/ImageHeader1"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.497"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="@+id/text_home"
    app:srcCompat="@drawable/defaultpng" />


正如所料,这使得应用程序上的图像非常小。我是否可以缩放它的大小为x2或x4,而不必从我的基本php api创建更大的图像?通过API发送额外数据似乎是一种浪费。

您可以使用
Glide
调整位图的大小,请参见下文

 Glide.with(requireActivity())
                .override(THUMBNAIL_SIZE, THUMBNAIL_SIZE)
                .load(yourBitmap)
                .into(yourImageView)

检查此函数>>>私有可绘制resizeDrawable(可绘制Drawable,int-dstWidth,int-dstHeight){Drawable resizedDrawable=null;尝试{Bitmap Bitmap=((BitmapDrawable)Drawable).getBitmap();Bitmap bitmapResized=Bitmap.createScaledBitmap(位图,dstWidth,dstHeight,false);resizedDrawable=new BitmapDrawable(context.getResources)mutate();}catch(异常e){e.printStackTrace();resizedDrawable=new ColorDrawable(Color.TRANSPARENT);}返回resizedDrawable;}