【问题标题】:Android, Java: Scaling .PNG results in low qualityAndroid、Java:缩放 .PNG 会导致质量低下
【发布时间】:2013-01-05 03:10:45
【问题描述】:

我正在使用 Java 为 Android 创建这个游戏。我正在使用此代码:http://developer.android.com/training/displaying-bitmaps/load-bitmap.html 调整位图大小,我在所有图像上使用 .PNG 格式。它工作得非常好,只是位图质量下降了很多,即使我从更大的图像缩小它也是如此。这可以解决吗?

【问题讨论】:

标签: java android bitmap image-scaling


【解决方案1】:

你可以试试这个代码。

 public static Bitmap shrinkBitmap(String p_file, int p_width, int p_height)
{
    BitmapFactory.Options m_bmpFactoryOptions = new BitmapFactory.Options();
    m_bmpFactoryOptions.inJustDecodeBounds = true;
    Bitmap m_bitmap = BitmapFactory.decodeFile(p_file, m_bmpFactoryOptions);
    int m_heightRatio =
            (int) Math.ceil(m_bmpFactoryOptions.outHeight / (float) p_height);
    int m_widthRatio =
            (int) Math.ceil(m_bmpFactoryOptions.outWidth / (float) p_width);
    if (m_heightRatio > 1 || m_widthRatio > 1)
    {
        if (m_heightRatio > m_widthRatio)
        {
            m_bmpFactoryOptions.inSampleSize = m_heightRatio;
        }
        else
        {
            m_bmpFactoryOptions.inSampleSize = m_widthRatio;
        }
    }       
    m_bmpFactoryOptions.inJustDecodeBounds = false;
    m_bitmap = BitmapFactory.decodeFile(p_file, m_bmpFactoryOptions);
    return m_bitmap;
}

编辑: 在这里,我也尝试了其他方式。 你能告诉我你是如何扩展.PNGs的,这样我就可以明白了。

【讨论】:

  • 我并没有真正使用 ImageViews,这样做有什么好处吗?如果你有很多图像,它们不是很多吗? (我可能理解错了,但我不确定 ImageView 是什么,所以我用谷歌搜索得到:mkyong.com/android/android-imageview-example
猜你喜欢
  • 2015-11-23
  • 2012-04-14
  • 2016-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-16
  • 1970-01-01
相关资源
最近更新 更多