2012-04-11 9 views
2

たとえば、透明なpngファイルがあります。その形状は車です。 pngファイルでは、白い枠線の形だけを描画します。 境界線の外側と内側はすべて透明です。actionscript3で透明なPNGファイルの形に無地を塗る方法は?

私はcarオブジェクトを別の色で表示するためにactionscript3コードを使用したいと思っています。境界線の内側に塗りつぶし色のみを意味し、境界線の外側は透明に保ちます。 どうすればいいですか?

これまでのところ、最も簡単な回避策はPhotoShopで多くの画像を準備することですが、それは十分ではありません。私は多くの形をしていて、色を多く使うと、たくさんのイメージを用意する必要があります。

詳細を追加します。 (私は白のボーダーを使用しているので、ブラウザのあなたの背景が白であれば、あなたは基本的なPNGファイルが表示されない場合があります) This is my basic png file

this is my expected car 1

this is my expected car 2

私のボーダーシェイプを黒に変更すると、これは私の質問を理解するのに役立ちます。

enter image description here

enter image description here

enter image description here

+0

だから、わかりやすくするために、あなたは、画像の透明部分に影響を与えずに色変換を適用する透明PNGを持っていますか?ご存じのように – Marty

+0

の場合、PNGファイルは一般に長方形です。私は自分の形を描く。形状の内側の部分を変更したいが、外側の部分は透明に保つ。 – user1325532

+0

意味があります。また、白い枠線も変更したくないのですか?それは面白いかもしれない。 – Marty

答えて

0

簡単な解決策は、複数の層を使用することです。最上位レイヤーには境界線だけが含まれます。下位レイヤーには境界線のない車だけが含まれます。 ColorTransformまたはColorMatrixFilterを使用して車のレイヤーの色を調整できます。

1

ロードされたイメージ/ピクセルで作業しているので、BitmapDataのfloodFill()を使用して、必要なものを処理できます。メソッドの説明にも例があります。

これは完璧ではない場合もありますが、必要なものはほとんどあります。もっと深くなるJan's optimizing the floodFill() methodの記事を見ておく価値があります。

advanced floodFill() example

関連する問題