2011-11-16 42 views
1

我有一個Flash fla文件,其中包含大量的圖像。每幅圖像的大部分都由透明像素組成,其中有一個視覺對象。此刻的每個圖像都位於{x:0,y:0}處。Batch Image Trim

我想修剪圖像的透明像素到最小邊界框,但保持對象在相同的全局位置。這需要將修剪後的圖像移動到未修剪圖像中物體的全局位置。

這不是一個問題,但事實上圖像都包含在fla中是問題。我看到目前的選項有:

  • 調查JSFL,位圖對象具有的getPixels,這個組合與選擇和刪除操作可以工作

  • 將FLA到XFL和枚舉圖像和相關XML的東西,如紅寶石+圖像處理的lib

問題:

  • 有沒有人知道如果在JSFL中可以執行此操作?
  • 有沒有人對xfl文件進行了很多自動處理?
  • 是否有可以執行此修整操作的現成圖像處理器?

回答

0

您可能想嘗試在ActionScript中使用圖像自動修剪。顏色將圖像轉換爲單一顏色,並使用像素方法來識別邊界區域。這是一個類似的技術here

+0

感謝詹姆斯,但我想修剪預先加載到AVM的性能原因 –

1

應該可以使用像Ruby語言來查找XFL項目目錄結構中的所有圖像文件,並與像ImageMagick的一個程序(這是免費的,並與各種腳本語言的作品)編輯它們。

這傢伙做了解釋如何從XFL文件訪問您的資源,良好的工作: http://blog.mencio.com/?p=121

下面是關於ImageMagick的論壇移除邊界像素的鏈接: http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=11103&start=0

希望這足夠讓你開始。

+0

非常好,謝謝@Harmonious,這將讓我去;) –

0

I worked this problem out in Photoshop。使用PS的腳本語言,選擇可以有多個區域,您可以通過代碼訪問這些「島嶼」。

在上面的例子中,我發現(自動)所有單獨島嶼的{x,y}位置,修剪島嶼的圖形,並將每個島嶼保存爲單獨的圖像文件。 {x,y}位置成爲文件名的一部分。我沒有在Flash中構建JSFL部分,它將讀取文件名並根據名稱中的{x,y}來定位它們;而是通過手工完成。

如果您可以導出所有圖像,則可以使用此PS腳本查找位置並裁剪圖像。編寫JSFL腳本來定位圖像將是一項相當艱鉅的任務。