![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 23.03.2009
Сообщений: 334
|
![]()
Здравствуйте!
Есть белый холст 4000 x 4000 (bitmap) В центре холста рисуется изображение (разного размера). Требуется обрезать, лишний белый фон по бокам нарисованного изображения в центре. Сейчас, в цикле попиксельно проверяю цвет каждого пикселя, для определения границ изображения в центре, для последующего обрезания пустых, белых краев. Довольно медленный способ. Посоветуйте, может есть более рациональный способ? По идее, зная что размер холста всегда 4000 x 4000 - можно проверять сразу всю строку и весь столбец, но что-то не нашел как. |
![]() |
![]() |
![]() |
#2 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]() Цитата:
Код:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 23.03.2009
Сообщений: 334
|
![]()
min@y™, Спасибо, про ScanLine знаю, но вот для столбцов - нет ScanCol, а без него толку мало из-за того, что для определения левой и правой границы все-равно требуется циклом попиксельно проверять оставшееся пространство..
Последний раз редактировалось ZBEP; 04.10.2014 в 02:20. |
![]() |
![]() |
![]() |
#4 | ||
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#5 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
Вы бинарный поиск задействовали, чтобы не по всем столбцам пробегать?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 23.03.2009
Сообщений: 334
|
![]()
BDA, да я думал можно сделать что-то вроде такого
Код:
Видимо сглупил. В общем подскажите пожалуйста, в какую сторону копать, что бы ускорить процесс определения границ рисунка. |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
![]()
если рисунок точно центре то и начал бы поиски из центра.
если геометрия рисунка квадрат то можно можно найти сначала правую левую грани (Xl,Xr) потом по найденой грани пробежаться и найти Yt,Yb а можно и не тупо бежать по грани а каким нибудь алгоритмом типа золотого сечения
Не стесняемся, плюсуем!
![]() |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 23.03.2009
Сообщений: 334
|
![]()
Сделал через Scanline, стало ощутимо быстрее.
Всем спасибо ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поворот, масштабирование, обрезание изображения. | CuTTeR | Мультимедиа в Delphi | 9 | 12.08.2012 17:48 |
Обрезание Аудиофайла | Den7656 | Общие вопросы Delphi | 1 | 15.12.2011 10:58 |
Обрезание Аудиофайла | Den7656 | Компоненты Delphi | 0 | 14.12.2011 18:40 |
Обрезание изображения | russian-stalker | HTML и CSS | 3 | 26.02.2011 07:53 |
Обрезание строки | dedyshka | HTML и CSS | 6 | 26.03.2010 13:52 |