AS3 - экспорт или сохранение спрайта как SVG или другого векторного формата - PullRequest
4 голосов
/ 17 марта 2012

Я работаю над некоторыми творческими арт-проектами в AS3 и продолжаю сталкиваться с проблемами с ограничениями качества растровых изображений. Они не масштабируются и не редактируются, как векторы. Есть ли класс или библиотека, которую я могу использовать, чтобы взять графику объекта Sprite и экспортировать ее в формат SVG? Другие распространенные векторные форматы также приемлемы.

Образец использования также будет принята с благодарностью.

Редактировать. Обратите внимание, что я использую FlashDevelop, а не Adobe Flash CS. Я ищу программное решение.

Ответы [ 7 ]

4 голосов
/ 24 марта 2012

Я пытаюсь экспортировать в svg самостоятельно, и меня немного удивляет, что так сложно найти svg-экспортера, поскольку он в значительной степени просто xml.

Я встречал xgraphics хотя, это может быть полезно.

на самом деле вам нужен только класс SVG. Он пытается имитировать графический класс в as3, но я обнаружил, что мне нужно добавить класс рисования полигонов.

    /**
     * graphics
     */
    public function drawPolygon($points:Array):void {
        var $pointsString:String = "";
        for each (var $pt:Point in $points) {
            $pointsString += (" " + $pt.x +"," + $pt.y);
        }
        var xml:XML = new XML('<polygon points="' + $pointsString + '" fill="' + uintToCSS2Color(fillColor) + '" stroke="' + uintToCSS2Color(lineColor) + '" stroke-width="' + strokeWidth + '"/>');
        this.xml.appendChild(xml);
    }

это позволяет мне создавать треугольники и другие фигуры, передавая массив точек

2 голосов
/ 17 марта 2012

Если вы создаете генеративное искусство с использованием графического API (и / или используете готовые спрайты с векторной графикой), самый простой способ получить их - распечатать в формате PDF.Это сохранит векторы, и вы можете позже импортировать их в нечто вроде Illustrator, чтобы сделать последние штрихи.Я сделал скриншоты своих игр таким образом, и это работает довольно хорошо.Могут быть некоторые проблемы с обрезкой, но их следует избегать, если вы настроите масштабирование.

1 голос
/ 21 марта 2012

, как предположил грейпфрукт, PDF был моим первым, хотя тоже.

, если вы не хотите использовать print как pdf (что является немного неуклюжим способом экспорта), существует также alivepdf, что может работать.

другой вариант - использовать библиотеку DEGRAFA , но я думаю, что для начала вам нужно будет сгенерировать графику с использованием библиотеки, но это дастВы можете импортировать и экспортировать в формате SVG.

0 голосов
/ 22 февраля 2014

Я ответил на этот вопрос сам по себе ранее , но, попробовав этот инструмент сам и не испытав особой удачи, я отправился на поиски чего-то другого и нашел этот проект под названием SWF2SVG на wonderfl . Он берет загруженный SWF и преобразует его в путь SVG, используя библиотеку as3swf .

Ссылка на инструмент SWF2SVG: http://wonderfl.net/c/sPjI

0 голосов
/ 21 марта 2012
0 голосов
/ 17 марта 2012

К сожалению, однажды в растровом формате вы не можете легко и просто преобразовать растровую графику в векторную.Есть некоторые инструменты, которые пытаются выполнить эту задачу, но они достигают смешанных результатов.Flash содержит встроенную функцию «Trace Bitmap», которая будет выполнять эту задачу, с выбранным изображением перейдите в «Modify> Bitmap> Trace Bitmap».Вам нужно будет поиграть с различными вариантами, чтобы попытаться достичь наилучшего результата, но даже в этом случае может потребоваться ручная настройка, чтобы привести в порядок артефакты и сбои.

Этот урок имеет достаточно хороший обзориз того, что будет делать каждый вариант.

0 голосов
/ 17 марта 2012

Посмотрите на AS3 SWF Shape Export - SVGhapeExporter должно работать хорошо ( пример кода здесь ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...