5

Photoshop には 2 つのレイヤーがあります。1 つはテクスチャ、2 はテクスチャに重なる半透明の画像です。この 2 つの組み合わせは、Photoshop で見栄えがします。それらを Photoshop とは別にエクスポートし、透明度と色を sRGB に変換した 24 ビット PNG として保存します。(PS の作業色空間は sRGB です。)

それらをフラッシュにインポートした結果は、私を泣かせます (下の画像を参照してください。十字の周りの領域がどのように見えるかに注目してください)。:(

PNGを動的にロードすることと、それらをflaに直接インポートすることの両方を試みました(圧縮タイプ:ロスレス、スムージングを許可:false)。エクスポート時に半透明の領域が不正確に保存されているようです。さらに不可解なのは、動的読み込みと直接インポートで結果が異なる理由です。

私は何が欠けていますか?これらの症状の詳細な説明は高く評価されます。


EDIT1これが私が立ち往生しているpsdです。zip 内には、2 つのレイヤーしかないtransparent.psdがあります。それらをflaに配置することはまだうまくいきません.透明な領域は汚れます.

http://noregret.org/test/transparency.zip (400kb)


EDIT2仲間のフラッシュ開発者は、「事前に乗算されたアルファの問題」を指摘してくれました。

http://en.wikipedia.org/wiki/Alpha_compositing#Description

これは私が克服しようとしている問題に違いないと思います。

私の知る限り、Photoshop は内部的にストレート アルファ (PNG エクスポートで白を事前乗算) を使用し、 Flash は事前乗算されたアルファを使用します。しかし、私はまだそれを理解していません.透明な画像のレンダリングの違いは何ですか? そして、PS と Flash で同じように見えるようにするには、どの操作を実行する必要があるのか​​、まだ正確にはわかりません (少なくとも、画像の準備についてアーティストにどのように指示すればよいでしょうか)。

誰?私は答えを求めてGoogleを掘り続けています。


EDIT3残念ながら、画像を平らにすることはできません。この例は、全体像のほんの一部です。テクスチャの上に半透明の要素がたくさんあるかなり複雑なインターフェイスがあります。絵がかっこよく見えます(くしゃくしゃの段ボールか何かでできているような)。そのため、テクスチャと半透明のレイアウトは別々に必要です。フラッシュの最上位レイヤーにブレンドモードを追加すると、「ゴースト領域」の問題は解決されますが、画像が大幅に変更されるため、受け入れられません。


半透明レイヤー:

ここに画像の説明を入力

テクスチャ レイヤ:

ここに画像の説明を入力

結果 (Windows 上の PS および Flash Player のスクリーンショット):

  • Photoshop (オリジナル):わかりました
  • フラッシュ (fla にインポート): 重いゴースト領域
  • Flash(png読み込み):ライトゴーストエリア

ここに画像の説明を入力

4

3 に答える 3

1

PNGではなく、FLA内で圧縮されたJPEG画像フォーマットを取得しているようです。それを避けるには、画像圧縮が可逆であることを指定する必要があります。ライブラリまたは MovieClip props でそれを行うことができます。

于 2011-07-04T13:07:39.067 に答える
1

上記の画像をレンダリングするために Bitmap オブジェクトを使用していますか? 一番上のオブジェクトのアルファがあなたが示しているものと同様の視覚的アーティファクトを作成する前に、2つのオブジェクトをアルファでオーバーラップさせるという同様の問題に遭遇しました。Bitmap のネイティブ アルファ ブレンディングを使用しても、問題を正しく修正することはできませんでした。私の解決策は、copyPixels 関数を使用して手動で結合することでした。このようなもの :

public function mergeImgs(baseImg : Bitmap, topImg : Bitmap) : void
{
    baseImg.bitmapData.copyPixels(topImg.bitmapData, topImg.bitmapData.rect, new Point(), null, null, true);
}
于 2011-07-16T15:16:36.480 に答える
0

これらを別々のレイヤーとしてインポートする必要があるのはなぜですか。フォトショップで画像を平坦化してインポートするだけです。

はい、固有の柔軟性の一部が失われますが、これらの妥協をしなければならない場合もあります。

つまり、ここにあなたのオプションがあります:

  1. トップ(半透明)レイヤーの描画モードを明るくします。これにより、醜いリングが取り除かれますが、全体的な効果も低下するため、Photoshop で補正する必要があります。これはより簡単な方法です。

  2. PixelBender で必要な方法で自分でアルファ堆肥化を実装します。

  3. 平坦化し、正確な効果領域を切り取ってから、元の背景テクスチャの上にフラッシュでオーバーレイします。はい、ハックですが、動作するはずです。

乾杯!

于 2011-07-11T15:44:18.637 に答える