Java Android位图调整大小

Java Android位图调整大小,java,android,android-layout,Java,Android,Android Layout,调整位图大小的最佳方法是什么 使用 options.inSampleSize = 2; Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.mandy_moore, options); 或 使用此选项创建采样图像,保持与原始图像相同的纵横比。 这是调整大小的最佳方法 options.inSampleSize = 2; Bitmap bitmap = BitmapFactory.decodeResourc

调整位图大小的最佳方法是什么

使用

options.inSampleSize = 2;
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.mandy_moore, options);


使用此选项创建采样图像,保持与原始图像相同的纵横比。 这是调整大小的最佳方法

options.inSampleSize = 2;
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.mandy_moore, options);
Bitmap resizedbitmap = Bitmap.createScaledBitmap(bitmap, 200, 200, true);
这将按所提供的w和h缩放位图。 这可能会扭曲位图


根据需要使用。

方法createScaledBitmap生成低质量图像

接受这篇文章的建议

调整位图大小的最佳方法是什么

这取决于您需要的灵活性:

options.inSampleSize=N表示您将获得比原始图像小N倍的图像。基本上,解码器将每N个像素读取1个像素

如果位图不需要特定大小,但需要将其缩小以使用更少的内存,请使用该选项。这对于阅读大图像特别有用

Bitmap.createScaledBitmap
另一方面为您提供更多控制:您可以精确指示位图的最终尺寸

最好将这两种方法结合使用:

  • 确定可用于高效解码源图像的
    inSampleSize
    的最大值(使解码图像仍大于所需的最终大小)
  • 使用
    Bitmap.createScaledBitmap
    精确控制结果大小

  • 谢谢你的解释……)@Vincent Mimoun Prat知道如何在缩小尺寸的同时保持位图的质量吗?
    options.inSampleSize = 2;
    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.mandy_moore, options);
    Bitmap resizedbitmap = Bitmap.createScaledBitmap(bitmap, 200, 200, true);