![]() |
|
|
![]()
|
|
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
У меня в Image'е есть картинка. Как программно заменить какой-нибудь цвет и его оттенки на другой цвет?
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: 20 Всего: 25 |
Должно быть свойство или функция, но пока не вспомню, поэтому можно через циклы исккать нужный цвет и заменять его.
-------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
| smoke_man |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
Один из методов:
Заменяем весь красный цвет на зеленый. -------------------- 0x2b|~0x2b |
|||
|
||||
| smoke_man |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
Более быстрый способ следующий:
Создаем структуру такого типа:
Затем делаем следующий поиск:
-------------------- 0x2b|~0x2b |
||||
|
|||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Спасибо, попробую. Хочу обратить внимание, что если я меняю синий на красный, то и оттенки синего нужно поменять на оттенки красного. Насколько я знаю это делается с помощью RGB.
smoke_man объясни плиз вот эту строку: col=(TCol*)(Image1->Picture->Bitmap->ScanLine[i]); По-подробнее. Как можно слелать пиксель прозрачным? Спс. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| Cheater |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 11.2.2007 Где: Петропавловск-Кам чатский Репутация: нет Всего: нет |
>col=(TCol*)(Image1->Picture->Bitmap->ScanLine[i]);
Это приведение Bitmap->ScanLine[i] к типу TCol*. Прозрачных пикселей в Bitmap не бывает. |
|||
|
||||
| smoke_man |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
В BCB нет структуры типа BGR(а не RGB), а ScanLine возвращает ссылку на массив BGR типов...вот этой строкой я и привожу ее к своему созданному типу TCol, т.е к BGR, а дальше можешь просто сравнивать не полный цвет, а работать с каждой компонентой в отдельности. -------------------- 0x2b|~0x2b |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
smoke_man спасибо.
Cheater я не имел ввиду Bitmap. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| Cheater |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 11.2.2007 Где: Петропавловск-Кам чатский Репутация: нет Всего: нет |
artsb, Image1->Picture->Bitmap->ScanLine[i] - это, по вашему, не Bitmap?
|
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Cheater но в Image можно загрузить и *.jpg. И темболее когда на кнопку ложишь картинку и ставишь Transparent=true, она битмаповская.
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| Cheater |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 11.2.2007 Где: Петропавловск-Кам чатский Репутация: нет Всего: нет |
Там используются не прозрачные пиксели...
|
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Ну тогда объясни, что там используется. плиз.
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Не получается что-то.
Выкладываю картинку. Нужно из левой части картинки получить правую. Но это пример, а вообще цвет будет выбирать пользователь. Может кто знает как такое сделать. Присоединённый файл ( Кол-во скачиваний: 9 )
example.jpg 27,42 Kb-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |