簡體   English   中英

批處理圖像修剪

[英]Batch Image Trim

我有一個包含大量圖像的Flash fla文件。 每個圖像的大部分由透明像素組成,在某處具有可視對象。 此刻每個圖像位於{x:0,y:0}。

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

這並不是什么大問題,但是問題是圖像全部包含在fla中。 我目前看到的選項是:

  • 調查JSFL,Bitmap對象具有一個getPixels,將其與選擇和刪除操作結合使用可以起作用

  • 將fla保存到xfl,並使用Ruby + image processing lib之類的方法枚舉圖像和相關的xml

問題:

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

應該有可能使用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

希望這足以讓您入門。

您可能想嘗試在使用圖像時在ActionScript中自動進行修剪。 對圖像進行顏色轉換為單色,並使用像素方法識別邊界區域。 這是這里使用的類似技術。

在Photoshop中解決了這個問題 使用PS的腳本語言,一個選擇可以具有多個區域,並且您可以通過代碼訪問這些“島”。

在上面的示例中,我(自動)找到了所有單獨島的{x,y}位置,修剪了島的圖形,並將每個島另存為單獨的圖像文件。 {x,y}位置成為文件名的一部分。 我尚未在Flash中建立JSFL部分,該部分將讀取文件名並根據名稱中的{x,y}定位它們; 而是手動完成。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM