C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Каким способом можно изменить цвет в image
Allin
Отправлено: 09.05.2006, 09:51


Дежурный стрелочник

Группа: Участник
Сообщений: 31



В компонент image загружаю изображение.
Как сделать так, чтобы в данном изображении изменить выбранный один цвет на другой?

Заранее благодарен.
Aptem
Отправлено: 10.05.2006, 12:24


Мастер участка

Группа: Участник
Сообщений: 349



Я бы сделал так. Через свойство Canvas -> Pixels[x][y] пробежался бы по каждому пикселю изображения и проверил на равенство искомому цвету и если равно, то меняем на нужный цвет.
Konstantine
Отправлено: 10.05.2006, 15:24


Мастер участка

Группа: Модератор
Сообщений: 545



я по-другому подобное делал...
нужен рисунок только должен быть индексированным (GIF или BMP) я делал для GIF (у меня рисунки — элементы схемы — 1-10 кБайт):
- выгружаю рисунок в TMemoryStream
- определённые байты — цветовые значения индексов меняю
- загружаю обратно smile.gif
нужно лишь знание формата GIF (или BMP), ну это у меня заняло полдня в инете
** exp
Отправлено: 11.05.2006, 17:33


Не зарегистрирован







2Aptem:
Как-то пытался сделать это. Pixels не менялись. Насколько я знаю, Pixels только для чтения.
Aptem
Отправлено: 11.05.2006, 17:55


Мастер участка

Группа: Участник
Сообщений: 349



QUOTE (** exp @ 11/05/2006, 17:33)
Как-то пытался сделать это. Pixels не менялись. Насколько я знаю, Pixels только для чтения.

CODE
__property TColor Pixels[int X][int Y] = {read=GetPixel, write=SetPixel};
Allin
Отправлено: 28.05.2006, 20:35


Дежурный стрелочник

Группа: Участник
Сообщений: 31



Огромное спасибо за исчерпывающий ответ! Всё получилось!!!

Этот форум — лучший! smile.gif

Вернуться в Вопросы программирования в C++Builder