качество изображения становится плохим после многих drawBitmap - PullRequest
1 голос
/ 17 июля 2011

моя программа рисует растровое изображение на холсте живых обоев.Это работает, но через некоторое время изображение становится очень плохим (http://img855.imageshack.us/img855/9756/deviceq.png)

есть идеи почему?

1 Ответ

3 голосов
/ 17 июля 2011

В drawBmp() вы неоднократно берете свое растровое изображение (bmp), масштабируете его (вызов createScaledBitmap) и затем присваиваете его обратно bmp.Со временем все эти операции масштабирования приведут к появлению артефактов, которые вы видите.

Чтобы решить эту проблему, сохраните исходное растровое изображение в другой переменной (например, private Bitmap originalImage;) и создайте масштабированное растровое изображение из исходного.

bmp = Bitmap.createScaledBitmap(originalImage, (int)(canvas.getHeight()*ratio), canvas.getHeight(), true);
...