|
|
|||||
Регистрация: Mar 2010
Сообщений: 29
|
Отрисовка распрашенного графика
Всем привет! Я столкнулся с такой задачей, рисую маршрут в виде однопиксельной линии во флеше, определенного цвета. Хочу потом по этим линиям выдирать точки и восстановить кривую через код. Вытаскиваю все точки,предварительно перегнав в BitmapData. Не могу нормально по порядку считать эти точки,мой глупый мозг не хочет придумывать нормальный алгоритм. Суть примерно такая: начальная точка- допустим черная, ее я нахожу через getPixel. И от нее начинаю идти во все возможные стороны и искать следующий пиксель зеленого цвета. В общем, не получается у меня вытащить правильно точки в верной последовательности) Может кто-нибудь подкинуть идейку, не могу далее сообразить.
|
|
|||||
А зачем вам отрисовывать это в растр? Если вы рисуете линию, то запомните точки, по которым вы её нарисовали и используйте их для последующего редактирования. Если я правильно понял вашу задачу.
--------------------------- А, вы вручную во FlashIDE рисуете линию и хотите потом научиться изменять её с помощью кода, я понял. --------------------------- Возможно вам поможет readGraphicsData() |
|
|||||
Регистрация: Mar 2010
Сообщений: 29
|
спасибо за ответ. Мне не то чтоб нарисовать это надо было, надо просто вытащить точки в правильном порядке и потом двигать по этому маршруту объекты
|
|
|||||
Но если вытащить точки из линии, то их получается намного больше, чем было при рисовании.
Этот код, покажет все точки из нарисованной вами линии. //line - ваш объект в котором нарисована линия var v:Vector.<IGraphicsData> = line.graphics.readGraphicsData(); graphics.beginFill(0x0000CC); for (var i:int = 0; i < v.length; i++) { if (v[i] is GraphicsPath) { var gd:Vector.<Number>=(v[i] as GraphicsPath).data for (var j:int = 0; j < gd.length; j+=2) { graphics.drawCircle(gd[j], gd[j + 1], 3); } } } |
|
|||||
Регистрация: Mar 2010
Сообщений: 29
|
Цитата:
Линия нарисована в битмапе. |
|
|||||
Это был пример для векторного содержимого и с битмапой конечно не сработает.
Я не помню в какой версии внедрили readGaphicsData, но это было кажется не очень давно. У меня SDK 4.6, и флешплеер 11.9. |
|
|||||
Регистрация: Mar 2010
Сообщений: 29
|
все,задачу решил, спасибо
Добавлено через 2 минуты моя теория была практически верна, только потребовалось откинуть лишь все пиксели, которые светлее чем изначальный цвет больше чем искомый цвет/k= в моем случае 1.4) |
Часовой пояс GMT +4, время: 02:38. |
|
« Предыдущая тема | Следующая тема » |
Теги |
bitmapdata , flash , getpixel , графики , машруты |
|
|