Приведите примеры, скриншоты и код, пожалуйста.
Пример дома попробую минимизировать, пока скриншот. Я так понимаю, канвас вообще не должен XORиться, до этого я такого не видел, ан вот:
Картинка нарисована форматом ARGB Raw, с прозрачностью. Пользуюсь стандартным CCanvas
Другие картинки и код будет когда доберусь домой
Дело в том, что Вам следует использовать формат COLOR_FORMAT_ARGB_NORMALIZE, а не COLOR_FORMAT_ARGB_RAW
Статья на wiki в тему, к сожалению только на английском.
Если используется COLOR_FORMAT_ARGB_RAW, то это означает, что цвет точки уже прошёл "premultiplied" обработку, а именно (пример кода):
//--- конвертируем картинку в premultiplied ARGB
for(UINT i=0;i<img_size;i++)
{
switch(a=BYTE(rgb[i]>>24))
{
case 0xFF: break;
case 0x00: rgb[i]=0; break;
default:
r =BYTE((rgb[i]>>16)&255);
g =BYTE((rgb[i]>> 8)&255);
b =BYTE((rgb[i] )&255);
rgb[i]=(a<<24)|(BYTE(r*a/255)<<16)|(BYTE(g*a/255)<<8)|BYTE(b*a/255);
break;
}
}
for(UINT i=0;i<img_size;i++)
{
switch(a=BYTE(rgb[i]>>24))
{
case 0xFF: break;
case 0x00: rgb[i]=0; break;
default:
r =BYTE((rgb[i]>>16)&255);
g =BYTE((rgb[i]>> 8)&255);
b =BYTE((rgb[i] )&255);
rgb[i]=(a<<24)|(BYTE(r*a/255)<<16)|(BYTE(g*a/255)<<8)|BYTE(b*a/255);
break;
}
}
Спасибо, попробую. Но тогда в справке не совсем понятно написано
Я бы и в жизни не подумал, что вот это
Компоненты цвета не обрабатываются терминалом (должны быть корректно заданы пользователем)
каким-то боком относится к premultiplied
_________
Да, так все ок
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Рисую тут на канве и обнаружил странное поведение, которое мне не нравится и которое я не могу пока победить.
Засада в том, что на разных графиках и разных терминалах получается разный принцип наложения картинки.
На одном графике нарисованная (с прозрачностью, ARGB Raw) картинка рисуется как надо, на втором под графиком (нет, свойство как фон не выставлено), на третьем вообще ксорится с графиком. Кто в курсе что это вообще такое и как на это влиять? Я вообще не трогаю (да и не в курсе есть ли такие) какие-нибудь свойства наложения объектов