【问题标题】:Android Bitmap resizeAndroid 位图调整大小
【发布时间】:2013-08-15 16:15:44
【问题描述】:

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

使用

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

Bitmap resizedbitmap = Bitmap.createScaledBitmap(bitmap, 200, 200, true);

【问题讨论】:

    标签: java android android-layout


    【解决方案1】:

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

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

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

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

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

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

    1. 确定可用于有效解码源图像的inSampleSize 的最大值(这样解码后的图像仍大于您需要的最终尺寸)
    2. 使用Bitmap.createScaledBitmap 精确控制生成的大小

    【讨论】:

    • 谢谢你的解释.. :)
    【解决方案2】:

    使用它来创建与原始图像保持相同纵横比的采样图像。 这是调整大小的最佳方式。

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

    这将在提供的 w 和 h 中缩放位图。 这可能会扭曲位图。

    根据需要使用。

    【讨论】:

    • @Vincent Mimoun-Prat 关于如何在减小尺寸的情况下保持位图质量的任何想法?
    【解决方案3】:

    createScaledBitmap 方法产生低质量图像

    从这篇帖子中接受建议bitmap image quality

    【讨论】:

      猜你喜欢
      • 2015-06-04
      • 2011-08-25
      • 1970-01-01
      • 1970-01-01
      • 2012-03-23
      相关资源
      最近更新 更多