- 0
ReplaceOpaqueColor
-
Похожий контент
-
- 2 ответа
- 538 просмотров
-
- 2 ответа
- 912 просмотра
-
- 5 ответов
- 1 763 просмотра
-
Как сделать управление в TWebBrowser под Win как на мобильных платформах
От Yarpda,
- twebbrowser
- windows
- (и ещё 1 )
- 15 ответов
- 1 396 просмотров
-
- 0 ответов
- 949 просмотров
-
- 40 ответов
- 2 581 просмотр
-
- 10 ответов
- 1 824 просмотра
-
- 1 ответ
- 1 545 просмотров
-
- 0 ответов
- 1 338 просмотров
-
- 0 ответов
- 1 474 просмотра
-
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
Вопрос
Вадим Смоленский
У TBitmap есть метод ReplaceOpaqueColor, заменяющий все непрозрачные цвета на один новый, передаваемый параметром. Не могу до конца понять, как он определяет на изображении прозрачный цвет, который должен остаться прозрачным. У меня на форме хранится большой невидимый TImage с черно-белым битмэпом, из которого я беру отдельные фрагменты посредством DrawBitmap и вывожу их на маленькие TImage. Иногда мне нужно организовать цветовое выделение - то есть, например, заменить черный цвет на синий, а белый оставить белым. В этом случае как раз и помогает ReplaceOpaqueColor(claBlue): почему-то белый цвет в монохромном битмэпе он трактует как прозрачный, не меняя его. Но вот парадокс: если я предварительно заменю в исходном большом битмэпе все белые пиксели на $00000000 (то есть, как я понимаю, nil, полностью прозрачный цвет), то ReplaceOpaqueColor ведет себя противоположным образом: он меняет этот прозрачный на синий, а черный не трогает! Очень бы хотелось понять, отчего так происходит и как с этим можно бороться.
И шире: не ломлюсь ли я в открытую дверь? Может, в FMX есть какие-то более простые и мощные способы динамично преобразовывать цвета на TImage, просто я их не обнаружил?
Изменено пользователем Вадим СмоленскийСсылка на комментарий
1 ответ на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.