2012-03-16 62 views
4

我正在研究AS3中的一些生成藝術項目,並且我一直遇到位圖質量限制的問題。它們不是可擴展或可編輯的矢量方式。是否有一個類或庫可用於獲取Sprite對象的圖形並將它們導出爲SVG格式?其他常見的矢量格式也可以接受。AS3 - 將SVG導出或保存爲SVG或其他矢量格式

使用樣本也將不勝感激。

編輯:請注意,我使用FlashDevelop而不是Adobe Flash CS。我正在尋找一個程序化解決方案。

回答

4

我試圖導出到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); 
    } 

這讓我通過傳遞點

0

不幸的是,一旦位圖格式化,你不能完美和容易地將光柵圖形逆向工程化爲矢量。有一些工具試圖完成這項任務,但他們取得了不同的結果。 Flash包含一個內置的「跟蹤位圖」功能,該功能將執行此任務,並選擇圖像,然後轉到「修改>位圖>跟蹤位圖」。您需要使用不同的選項來嘗試獲得最佳結果,但即使這樣,也可能需要手動調整才能整理僞影和毛刺。

This tutorial對每個選項的作用都有相當好的概述。

+0

我不想將位圖轉換爲矢量,我試圖將包含矢量的精靈保存爲矢量。位圖用於顯示,因爲它在我的大部分用途中速度更快。 – 2012-03-17 03:39:55

2

如果您正在使用圖形API(和/或使用premade sprites w。vector art)進行生成藝術,那麼最簡單的方法是將其打印爲PDF。這將保留矢量,您可以稍後導入到像Illustrator這樣的東西來做最後的修改。我用這種方式完成了我的遊戲截圖,效果非常好。裁剪可能存在一些問題,但如果您調整事物的縮放比例,則應該避免這些問題。

+0

這很有幫助,雖然我會非常喜歡用編程的方式來做到這一點。如果沒有人有圖書館這樣做,也許我應該做一個。 – 2012-03-17 03:33:33

1

爲grapefrukt建議,PDF是我第一次,雖然過。

如果您不想使用print作爲pdf(這是一種笨拙的導出方式),也有alivepdf可能工作。

另一種選擇是使用DEGRAFA庫,但我認爲您需要先使用該庫生成圖形,但它會爲您提供使用SVG格式導入和導出的功能。

相關問題