2013-04-16 3 views
0

У меня есть ImageView, где я помещаю растровое изображение (слева), иногда я хочу видеть растровое изображение с полупрозрачным синим слоем (справа). Я пытаюсь использовать ColorFilter (LightingColorFilter и PorterDuffColorFilter), но я получаю синий цвет, как я могу сделать это с помощью ColorFilter или чего-нибудь еще?Растровое изображение с цветовым слоем

enter image description here

Спасибо.

EDIT (я попробовал это и другие варианты)

//ColorFilter filter = new PorterDuffColorFilter(color.wather, PorterDuff.Mode.DST_OVER); 
ColorFilter filter = new LightingColorFilter(color.mul, color.wather); 
// mul = 0xFFFFFFFF and wather = 0x7000FFFF 

BitmapScaler scaler = new BitmapScaler(); 
imagen.setImageBitmap(scaler.getScaled()); 
imagen.setColorFilter(filter); 

Я попытался diferents мул, добавить ценности и всегда получаю это: enter image description here

+0

Можете ли вы опубликовать, что вы пробовали? – Elior

+0

ОК это что-то с вашими мулами и ценностями. см. Это http://stackoverflow.com/questions/7048941/how-to-use-the-lightingcolorfilter-to-make-the-image-form-dark-to -light – Elior

+0

Я уже вижу это, я использую 0xFFFFFFFF для mul, чтобы выбрать все как пример, но для добавления я хочу полупрозрачный синий, я использую 0x7000FFFF, но я не получаю правильное изображение, но темно-синий и немного прозрачный. – k0nig

ответ

1

Я уже находит MUL, добавить значения, I возникла проблема с color.xml, потому что я использовал идентификационный номер вместо цветного номера RGB, большую ошибку. Transparence (Alpha) игнорируются, но я могу получить эффект уменьшения интенсивности добавленной стоимости.

int mul = 0xFFFFFF; 
    int add = 0x005050; 
filter = new LightingColorFilter(mul, add); 

Thanks Elior за помощью.

+0

рад помочь ... – Elior