![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 28.11.2007
Сообщений: 49
|
![]()
Господа программисты, помогите найти ошибку (graphics32).
Процедура особым способом проверяет пикселы bitmapa и в случае если цвет пикселя bitmapa совпадает с выбранным цветом (FColor) тогода закрашиваем его (пиксел) в красный цвет ( цвет с которым будем сравнивать храниться в переменной FColor (кстати цвет грузится в переменную из этого же bitmapa)). Исходя из этого получается что хотябы один пиксел в любом случае будет совпадать. Но почемуто этого не происходит. Помогите решить проблему. Код:
|
![]() |
![]() |
![]() |
#2 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
Если это заливка ограниченной области, то возможно тот пиксель не попадает в область заливки.
Если это заливка тотальная то есть всего битмапа, вернее не заливка а замена цвета, то тут все элементарно - перебрать матрицу битмапа проверяя цвет. Перебор матрицы: for i:=0 to Width do for j:=0 to Height do {Проверка цвета [i,j], если нужно - закраска} ;
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 28.11.2007
Сообщений: 49
|
![]() |
![]() |
![]() |
![]() |
#4 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
Прблему я так и не понял. Что это за заливка? Какие пиксели из всех проходят проверку?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 28.11.2007
Сообщений: 49
|
![]()
Вообщем имеется фотография предстяавляющая собой белы фон в центре которого изображен квадрат с оттенками зеленого цвета.
Если цвет с которым мы сравнивает мы берем из области квадрата, процедура не проходит ни разу, а если мы берем цвет из фона то находятся и закрашиваются найденные пиксели почему-то раз от раза. |
![]() |
![]() |
![]() |
#6 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Если у вас фотография, то вероятность того, что цвет одного из пикселей точь в точь совпадет с другим, не велика. В этом случае лучше закрашивать пикселы близкие по цвету. Что-то типа этого:
Код:
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 28.11.2007
Сообщений: 49
|
![]()
Все нашел... Ошибку... Код был верный ... Это я как обычно что-то накосячил в другом месте ...
Тема закрыта |
![]() |
![]() |
![]() |
#8 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
2 NeiL
Уважаемый, NeiL. У нас принято, в случае нахождения ошибки, пояснять ее. Если вам не сложно, плиз. Можно без кода, если он не несет особой смысловой нагрузки. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
помогите найти ошибку | Максим_Леонидович | БД в Delphi | 4 | 20.08.2008 23:23 |
Помогите найти ошибку ( с++ ) | JOFRIF | Помощь студентам | 10 | 23.05.2008 14:34 |
Помогите найти ошибку | KnDmPetr | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 11.04.2008 15:48 |
Помогите найти ошибку | Рената | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 05.01.2008 04:29 |
help!!! Помогите найти ошибку!!! | linker13 | Общие вопросы Delphi | 2 | 07.07.2007 23:15 |