- 0
ReplaceOpaqueColor
-
Похожий контент
-
- 2 ответа
- 543 просмотра
-
- 2 ответа
- 913 просмотра
-
- 5 ответов
- 1 770 просмотров
-
Как сделать управление в TWebBrowser под Win как на мобильных платформах
От Yarpda,
- twebbrowser
- windows
- (и ещё 1 )
- 15 ответов
- 1 406 просмотров
-
- 0 ответов
- 952 просмотра
-
- 40 ответов
- 2 593 просмотра
-
- 10 ответов
- 1 827 просмотров
-
- 1 ответ
- 1 546 просмотров
-
- 0 ответов
- 1 340 просмотров
-
- 0 ответов
- 1 475 просмотров
-
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
Вопрос
Вадим Смоленский
У TBitmap есть метод ReplaceOpaqueColor, заменяющий все непрозрачные цвета на один новый, передаваемый параметром. Не могу до конца понять, как он определяет на изображении прозрачный цвет, который должен остаться прозрачным. У меня на форме хранится большой невидимый TImage с черно-белым битмэпом, из которого я беру отдельные фрагменты посредством DrawBitmap и вывожу их на маленькие TImage. Иногда мне нужно организовать цветовое выделение - то есть, например, заменить черный цвет на синий, а белый оставить белым. В этом случае как раз и помогает ReplaceOpaqueColor(claBlue): почему-то белый цвет в монохромном битмэпе он трактует как прозрачный, не меняя его. Но вот парадокс: если я предварительно заменю в исходном большом битмэпе все белые пиксели на $00000000 (то есть, как я понимаю, nil, полностью прозрачный цвет), то ReplaceOpaqueColor ведет себя противоположным образом: он меняет этот прозрачный на синий, а черный не трогает! Очень бы хотелось понять, отчего так происходит и как с этим можно бороться.
И шире: не ломлюсь ли я в открытую дверь? Может, в FMX есть какие-то более простые и мощные способы динамично преобразовывать цвета на TImage, просто я их не обнаружил?
Изменено пользователем Вадим СмоленскийСсылка на комментарий
1 ответ на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.