|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.03.2008, 20:29 | #1 |
Пользователь
Регистрация: 28.11.2007
Сообщений: 49
|
Помогите найти ошибку
Господа программисты, помогите найти ошибку (graphics32).
Процедура особым способом проверяет пикселы bitmapa и в случае если цвет пикселя bitmapa совпадает с выбранным цветом (FColor) тогода закрашиваем его (пиксел) в красный цвет ( цвет с которым будем сравнивать храниться в переменной FColor (кстати цвет грузится в переменную из этого же bitmapa)). Исходя из этого получается что хотябы один пиксел в любом случае будет совпадать. Но почемуто этого не происходит. Помогите решить проблему. Код:
|
02.03.2008, 21:33 | #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)
Проверь себя! Онлайн тестирование | Мой блог |
02.03.2008, 21:54 | #3 |
Пользователь
Регистрация: 28.11.2007
Сообщений: 49
|
|
02.03.2008, 22:29 | #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)
Проверь себя! Онлайн тестирование | Мой блог |
02.03.2008, 22:38 | #5 |
Пользователь
Регистрация: 28.11.2007
Сообщений: 49
|
Вообщем имеется фотография предстяавляющая собой белы фон в центре которого изображен квадрат с оттенками зеленого цвета.
Если цвет с которым мы сравнивает мы берем из области квадрата, процедура не проходит ни разу, а если мы берем цвет из фона то находятся и закрашиваются найденные пиксели почему-то раз от раза. |
03.03.2008, 07:08 | #6 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
Если у вас фотография, то вероятность того, что цвет одного из пикселей точь в точь совпадет с другим, не велика. В этом случае лучше закрашивать пикселы близкие по цвету. Что-то типа этого:
Код:
|
03.03.2008, 22:35 | #7 |
Пользователь
Регистрация: 28.11.2007
Сообщений: 49
|
Все нашел... Ошибку... Код был верный ... Это я как обычно что-то накосячил в другом месте ...
Тема закрыта |
04.03.2008, 07:14 | #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 |