1

大量の画像を含む Flash fla ファイルがあります。各画像の大部分は、透明なピクセルで構成されており、そこに視覚的なオブジェクトが含まれています。現時点での各画像は {x:0, y:0} にあります。

画像の透明なピクセルを最小限のバウンディング ボックスまでトリミングしたいのですが、オブジェクトを同じグローバル位置に保ちます。これには、トリミングされた画像を、トリミングされていない画像内のオブジェクトのグローバル位置にシフトする必要があります。

これはそれほど問題ではありませんが、画像がすべて fla に含まれていることが問題です。現時点で表示されるオプションは次のとおりです。

  • JSFL を調査すると、Bitmap オブジェクトには getPixels があり、これを選択および削除操作と組み合わせると機能する可能性があります

  • fla を xfl に保存し、画像と関連する xml を Ruby + 画像処理ライブラリのようなもので列挙します

質問:

  • この操作がJSFLで可能かどうかを前もって知っている人はいますか?
  • xfl ファイルの自動処理を行った人はいますか?
  • このトリミング操作を実行できる市販のイメージ プロセッサはありますか?
4

3 に答える 3

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

始めるにはこれで十分だと思います。

于 2011-11-16T22:03:52.413 に答える
0

この問題は Photoshop で解決しました。PS のスクリプト言語を使用すると、選択範囲に複数のリージョンを含めることができ、コードを通じてこれらの「島」にアクセスできます。

上記の例では、すべての独立した島の {x,y} 位置を (自動的に) 見つけ、島のグラフィックをトリミングし、各島を個別の画像ファイルとして保存しました。{x,y} の場所がファイル名の一部になりました。ファイル名を読み取り、名前の {x,y} に従って配置する JSFL 部分を Flash で作成していません。代わりに手作業で行いました。

すべての画像をエクスポートできる場合は、この PS スクリプトを使用して場所を見つけて画像をトリミングできます。画像を配置するための JSFL スクリプトを作成するのは、かなり簡単な作業です。

于 2011-12-18T00:34:04.017 に答える
0

画像が使用されているので、ActionScript で自動的にトリミングを実行してみてください。イメージを単色にカラー シフトし、ピクセル メソッドを使用して境界領域を識別します。ここ で使用 され た 同様 の テクニックです.

于 2011-11-16T21:57:31.550 に答える