0

白黒写真があり、それを調整する必要があります。「可視性」を高める必要があります (グレーが強すぎるため、暗くする必要があります)。Photoshop の明るさ調整を AS3 で再現する方法を知っている人はいますか? これは、Flash で明るさを調整することと同じではないことに注意してください。違いは次のとおりです。

  • PS: 明るさは、白とは異なる色のピクセルのみを調整します。白いピクセルには何もしないので、白いピクセルは実際には白いままです
  • PS: 明度はすべてのピクセルを調整するため、白いピクセルにも影響します。明るさを下げると、すべての画像が暗くなります。これは私には使用できず、これはまさにFlashも同様です(ただし、「明るさ」と呼ばれています)

このマトリックスを使用して、Flash の明るさを再現できました。

var m:Array = new Array();
m = m.concat([1, 0, 0, 0, value]);  // red
m = m.concat([0, 1, 0, 0, value]);  // green
m = m.concat([0, 0, 1, 0, value]);  // blue
m = m.concat([0, 0, 0, 1, 0]);      // alpha

new ColorMatrixFilter(m);

...しかし、これはまさに、白い部分を含むすべての画像を暗く設定するため、うまく機能しません。

PSの明るさ設定を再現する方法はありますか? または、実際に白/明るいピクセルを明るく保ち、暗いピクセルを暗くする他のマトリックスはありますか? ありがとうございました!

4

1 に答える 1

0

これがPhotoshopの「明るさ」を正確に再現しているとは思えませんが(コントラストを調整するようなものです)、RGB値をスケーリングしてから、白が白のままになるように調整してみてください:

var scaling:Number = 4;
var adjustment:Number = 255 * (1 - scaling);

var m:Array = new Array();
m = m.concat([scaling, 0, 0, 0, adjustment]);  // red
m = m.concat([0, scaling, 0, 0, adjustment]);  // green
m = m.concat([0, 0, scaling, 0, adjustment]);  // blue
m = m.concat([0, 0, 0, 1, 0]);      // alpha

new ColorMatrixFilter(m);

より伝統的なコントラストが必要な場合、調整は次のようになります。

var value:Number = 255 * (1 - scaling) * 0.5;
于 2013-07-25T21:10:47.783 に答える