Показать сообщение отдельно
  #1 (permalink)  
Старый 06.12.2018, 17:46
Профессор
Отправить личное сообщение для Роман Андреевич Посмотреть профиль Найти все сообщения от Роман Андреевич
 
Регистрация: 12.08.2016
Сообщений: 299

Декодировать изображение и проверить прозрачен ли пиксель соответствующий точке
Коллеги, доброго времени суток, есть вопрос из ряда фантастики. Никогда не сталкивался но вот пришлось. Суть такая:

Пишу проект, интерактивная карта (на leaflet) на которою добавляю слои в виде картинок png. По сценарию юзер может выбрать область на карте, и в ней найти нужные объекты - участки земли. И так, область выбирается путем рисования прямоугольника, иными словами у нас есть координаты углов.

Далее я получаю координаты точек внутри прямоугольника и сохраняю их в массив. Встает проблема, при чесе массива получается от 1 до 5000 итераций, на каждой итерации отправляется запрос, приходит ответ и так далее. Результат запроса, объект и картинка, которую нужно наложить на карту по координатам, с этим то же все нормально. Вот пример:



Желтая собственно картинка которая приходит.



А это выделенный участок (маркеры для проверки, что точки расставились правильно).

Так вот, при первом запросе, нарисуется картинка, это png 256*256, и она квадратная. Но мне нужно из зоны загруженной картинки убрать точки. Что бы не было лишних запросов.

Но вот не задача!! картинка квадратная а фигура нет! можно исключить из периметра картинки точки, но из за того, что она квадратная исключаются и те точки, которые вне желтой фигуры.

Теперь вопрос, к знатокам, один умный человек, предложил декодировать изображение и проверить прозрачен ли пиксель соответствующий точке. Вопрос как это сделать??????

Буду благодарен за любые коменты по теме. Если не понятно что то написал, спрашивайте, все расскажу как есть....

p.s. возможности строить вектор нету, потому что данные приходят без координат углов этой желтой фигуры.
Ответить с цитированием