У меня есть прозрачное изображение PNG, представляющее значок Bluetooth с голубым свечением, экспортированный из фотошопа:
В HTC Desire создается простой просмотр изображений, иPNG используется в качестве растрового изображения.Если фон вокруг изображения - белый, между нюансами есть различия.Если фон черный, то различия скрыты.
Если я использую ADB для захвата экрана, проблема не видна:
Возможные причины: экран использует более высокую скорость в битах, чем длярастровое изображение.Например.RGB24 против RGB16.При этом экран имеет более широкое количество нюансов для белого, чем это возможно для растрового кодирования.При отображении пиксели растрового изображения аппроксимируются новыми требованиями к глубине в битах, но не могут должным образом соответствовать нюансам фона из-за используемых приближений.Например.RGB16-> RGB24 будет означать C24 = 255 * C16 / 31.
Если я использую программное обеспечение захвата экрана, битовая глубина, вероятно, уменьшается до более узкого значения битовой глубины (RGB16), так что все нюансы объединяются иприближены к более простым, 16-битным цветам.Вот почему я использовал фотоаппарат для иллюстрации проблемы.
Вопрос в том, как это исправить?
Я уже пытался загрузить растровое изображение с такими параметрами, как: resample.inPreferredConfig = Config.ARGB_8888;Но бесполезно.
Мне просто нужно отобразить прозрачное изображение, такое как значок с эффектами GFX: тени, свечение и т. Д. Я также был бы рад использовать маску в градациях серого (черный => белыймаска для обозначения прозрачности пикселей, но также не нашла пути для этого).
Спасибо за ваше время!