![]() |
|
Модераторы: Snowy, Alexeis, MetalFan |
![]()
|
|
| CynicRus |
|
||||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 248 Регистрация: 31.5.2012 Репутация: 2 Всего: 5 |
Приветствую уважаемых форумчан. Возникла проблема. Есть класс с полями Width,Height и полем Data - которое является указателем на массив TRGBTriple.
Загружаю в него так:
Выгружаю обратно в TBitmap:
Всё прекрасно работает, загружается куда надо, сохраняется как надо. Но, есть необходимость получать цвет пикселя по координатам на картинке. Пробую вот так:
Функция преобразования цвета:
Получается некий цвет пикселя. Проверяю: загружаю из файла в обычный TBitmap картинку, загружаю её в свой класс. Беру по Canvas.Pixels[x,y] цвет пикслея, беру из своего класса цвет пикселя - а они разные. И чего-то я могз себе сломал. вот что я не так делаю? Неправильно загружаю - выгружаю из массива? Тогда как это сделать правильно? Или же я неправильно определяю индекс в воображаемой матрице из моего массива? |
||||||||
|
|||||||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Возможно не учитывается то что компоненты цвета в битмапе pf24bit идут не в порядке RGB, а в порядке BGR . Canvas.Pixels[x,y] же всегда конвертирует RGB.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| CynicRus |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 248 Регистрация: 31.5.2012 Репутация: 2 Всего: 5 |
Ан нет, решение тривиальнее. Так как индексация идёт с 0, следовало при загрузке в массив переменную L указать как width*height - 1. И всё заработало как часы.
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Звук, графика и видео" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |