2013-06-30 3 views
0

У меня очень высокое качество PNG, я бы хотел уменьшить его, не теряя качества.Android Java: масштабирование растрового изображения при сохранении качества?

После импорта моего изображения в вытяжку-MDPI, вот что я сделал:

titlelogo = BitmapFactory.decodeResource(getResources(), R.drawable.titlelogo); 

titlelogoR = Bitmap.createScaledBitmap(titlelogo,(int)width, (int)(titlelogo.getHeight()*(width/titlelogo.getWidth())), true); 

canvas.drawBitmap((Bitmap)titlelogoR,0,0,null); 

вот мое исходное изображение: http://imgur.com/DPbXO5a,kVEWuz3#1

и вот что она выглядит на моем устройстве: http://imgur.com/DPbXO5a,kVEWuz3#0

благодарит заранее!

Редактировать: Вопрос: почему я хочу масштабировать изображение потом, а не заранее? A: Таким образом, изображение может быть одного размера на всех устройствах Android; есть ли лучший способ достичь этого?

РЕШЕННЫЙ!

Я начал свое право проект с самого начала и кладу изображения в папке xxhdpi

+0

Если вам никогда не нужно высокое качество изображения в вашем приложении, вы можете заранее его масштабировать. Если хотите быть готовыми к нескольким разрешениям экрана; работайте с самым высоким разрешением в качестве основного изображения и уменьшите его оттуда или используйте соответствующие папки ldpi/mdpi/hdpi. –

ответ

1

Идеальный способ масштабировать изображение заранее и поместить его в папку MDPI. Если вам действительно нужно масштабировать его в своем приложении, поместите его в необработанную папку.

+0

Могу ли я спросить, почему вы предложили поместить его в необработанную папку? Спасибо –

+0

@JadeByfield: Хорошо, если вы не позволите фреймворку масштабировать изображение, я думаю, что исходная папка может быть подходящей. На самом деле прошло некоторое время, так как я манипулировал изображениями вручную на андроиде, поэтому это может быть не самый лучший способ. Но борьба против автоматического масштабирования может быть очень раздражающей. – Falmarri

Смежные вопросы