在Kotlin Android Studio中缩放图像大小
我从一个大小为192x192的api接收到一个base64映像。我使用以下代码将base64数据更改为位图在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
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;}