Качество градиентной графики Android (масштабированное растровое изображение) - PullRequest
2 голосов
/ 28 ноября 2011

Я хочу отобразить заставку в моем приложении. Но качество градиента на заднем плане довольно плохое. Поэтому я создаю простой лучистый градиент, чтобы рассмотреть его поближе.

Редактировать: Возможно, мне следовало упомянуть, что я использую BitmapFactory.createScaledBitmap (); и BitmapFactory.decodeStream () (графика находится в папке ресурсов.)

Вот результат:

Оригинал * .jpg (Качество 100%) enter image description here

Скриншот Xperia X10 (я сделал скриншот с Eclipse) enter image description here

Ответы [ 2 ]

0 голосов
/ 21 декабря 2011

Чтобы масштабировать растровое изображение и сохранить ARGB_8888, я создал новое растровое изображение нужного размера. Затем я использую canvas для рисования внутреннего растрового изображения на новом растровом изображении с drawBitmap. Этот метод позволяет мне масштабировать растровое изображение, прежде чем рисовать его на новом растровом изображении.

inputStream = assetManager.open(path);
originalBitmap = BitmapFactory.decodeStream(inputStream, null, opts);

Bitmap resizedBitmap = Bitmap.createBitmap(desiredX, desiredY, Config.ARGB_8888);

Canvas canvas = new Canvas(resizedBitmap);
canvas.drawBitmap(originalBitmap, null, new Rect(0, 0, desiredX, desiredY), null);

inputStream.close();
return resizedBitmap;
0 голосов
/ 20 декабря 2011

Вы можете сделать это без файла jpg, но используя форму для рисования . Создайте прямоугольник и укажите необходимые пармы для тега gradient.

...