|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.02.2011, 06:44 | #1 |
Пользователь
Регистрация: 23.02.2009
Сообщений: 78
|
Чёрный холст и фигуры
Как на чёрном холсте битмапа найти области с фигурами и выдать их координаты с шириной и высотой, или одну общую область в которой находятся эти фигуры. и всё это меньше чем за 1/10 секунды( холст может быть размера экрана.
ну или получить за 1/10 сеунды координаты всех не чёрных пикселей с их колором) Последний раз редактировалось Biohazard; 03.02.2011 в 07:18. |
03.02.2011, 09:27 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Решить задачу можно анализируя содержимое пикселей, но за указанное время наверно слабо этим методом, поскольку очень медленный доступ к пикселям
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
03.02.2011, 09:58 | #3 |
Пользователь
Регистрация: 23.02.2009
Сообщений: 78
|
таким способом да, долго( может есть какой то аналитический?
|
03.02.2011, 11:43 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Без анализа пикселей наврядли возможно решение. Не знаю есть ли в Win Api средства, которые быстро вернут массив пикселей Bitmap-а в обход методов компонента.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
03.02.2011, 11:46 | #5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
а ScanLine на что?
или на крайняк на апи работайте с DIBitMaP.(DIB) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
03.02.2011, 11:54 | #6 |
Пользователь
Регистрация: 23.02.2009
Сообщений: 78
|
сканлайн не так уж и быстра( а на апи, поподробнее можно?)
|
03.02.2011, 11:57 | #7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
я не думаю что у вас получится перебрать весь ваш холст за 1/10 секунды.
для холста в 800/600 пикселей это 800*600 операций сравнения(и то если холст хранится как 24битный битмап, то скорость упадет еще ниже) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
03.02.2011, 12:14 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Можно попробовать функцию GetDIBits (в Graphics.pas есть примеры обращения). На счет скорости согласен с Пепел Феникса
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
03.02.2011, 12:22 | #9 |
Пользователь
Регистрация: 23.02.2009
Сообщений: 78
|
если холст перевести в текст и искать первую тройку не чёрного цвета? мне ведь для задачи достаточно найти хотяб минимальный прямоугольник, куда входят все фигуры) тоесть как бы отрезать лишнее вокруг)
|
03.02.2011, 12:30 | #10 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
что за глупости с текстом?
вам все равно придется каждый пиксель обрабатывать(каждый символ если в тексте, хотя смотря как перевести) поэтому кроме предложеных вариантов я других не вижу. вообще советую чтоб битмап был или 16-ти битный или 32-ых битный(первое по теории быстрее) ну иль хотя б 8-битный. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Фигуры | Арнис | Фриланс | 4 | 25.01.2011 13:05 |
Не регистрируют на форуме из-за внесения в какой-то чёрный список. | chugunka | Безопасность, Шифрование | 8 | 17.12.2010 05:10 |
Появляется чёрный экран при запуске windows 7 | Legolender | Windows | 4 | 21.11.2010 15:08 |
чёрный ящик | comeoff | Помощь студентам | 4 | 17.01.2010 10:16 |
Чёрный список Оперы | Altera | Софт | 2 | 24.09.2008 19:12 |