2015-10-14 2 views
0

Я застрял в проблеме и нуждался в некоторой помощи или руководстве для возможного решения.Ковш для краски в iOS

В основном в моем приложении будет карта с несколькими зонами. Пользователь может выбрать любую из этих областей, в то время эта область заполняется цветом.

Представьте себе карту, подобную этой, поэтому мне нужно изменить цвет только одной страны. enter image description here

Что-то вроде того, что происходит в книгах картин (https://itunes.apple.com/pt/app/colorfly-best-coloring-book/id1020187921?mt=8), или Paint Bucket команду в Photoshop.

Любая идея, как получить что-то подобное на iOS?

Заранее спасибо

+1

Вы ищете алгоритм под названием «Наполнение наводнения», то есть https://en.wikipedia.org/wiki/Flood_fill –

+0

Может быть, посмотрите здесь? https://github.com/Chintan-Dave/UIImageScanlineFloodfill –

+0

благодарит за ответ. добавьте ответ на вопрос, чтобы я мог его принять. – DaSilva

ответ

0

Техника ведро краски вы ищете это набор графических алгоритмов обычно называют «flood fill». Существуют различные подходы к реализации в зависимости от обстоятельств и потребностей в производительности. (Существует еще на этой ссылке в википедии.)

У меня нет опыта работы с ним, но здесь это библиотека из GitHub, который желает реализовать это для прошивки дала UIImage объекта: https://github.com/Chintan-Dave/UIImageScanlineFloodfill

Re: Ваш вопрос о делая это без прикосновения пользователя: да, вы хотите сохранить карту стран в пунктах (x, y), чтобы при необходимости могли повторно наполнить страны. Тем не менее, тонкости границ графства могут сделать алгоритмическое заполнение неточным без более тщательной нормализации исходного источника. Если ваша общая карта содержит только небольшой набор возможных состояний, есть и другие способы достижения этой цели, такие как сохранение полного набора возможных изображений (созданных в Photoshop) и их выключение или сохранение набора для каждой страны " overlay ", которые вы меняете по мере необходимости. (Но если заливка заливки является точной на этом исходном изображении, а также для ваших нужд, то отлично.)

Смежные вопросы