【问题标题】:Android, Java: Scaling .PNG results in low qualityAndroid、Java:缩放 .PNG 会导致质量低下
【发布时间】:2013-01-05 03:10:45
【问题描述】:
【问题讨论】:
标签:
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的,这样我就可以明白了。