0

ActionScript の内部でスケーリングがどのように機能するかを分析しようとしています。

小さなシナリオを作成しました:

  1. 2 X 2 jpg 画像を作成し、flex にインポートしました。画像のピクセル数は 4 になりました
  2. ビットマップを作成し、getPixel(x, y) を使用して値を出力しました。

    Values of bitmap 2 X 2
    ╔══════════╦══════════╗
    ║ 16777215 ║ 16777215 ║
    ╠══════════╬══════════╣
    ║ 16777215 ║ 16777215 ║
    ╚══════════╩══════════╝
    
  3. ビットマップを scaleX = 2 にスケーリングし、ピクセル値を出力しました。

    for (var x:int =0; x < original.width; x = x+1)
    {
        for (var y:int = 0; y < original.height; y = y+1)
        {
            tempUnit = original.bitmapData.getPixel(x,y);
            outputString1 = outputString1 + tempUnit.toString() + '\t';
        }
        outputString1 = outputString1  + '\r\n';
    }
    

    スケーリング後のビットマップの値

    Values of bitmap
    ╔══════════╦══════════╗
    ║ 16777215 ║ 16777215 ║
    ║ 16777215 ║ 16777215 ║
    ╠══════════╬══════════╣
    ║        0 ║        0 ║
    ║        0 ║        0 ║
    ╚══════════╩══════════╝
    

位置 (2,0)、(2,1)、(3,0)、(3,1) のピクセルの値は? 既存のピクセルの平均値を取らないのですか?

この 4 ピクセルだけを分析に使用しました。X 軸と Y 軸の単位は、表示オブジェクトに対するスケーリング後に変更されていると結論付けました。

私は ActionScript と画像処理が初めてです。私を正しい方向に向けてください。

4

1 に答える 1

3

Bitmap をスケーリングしても、BitmapData はスケーリングされません。BitmapData のスケーラブルなラッパーとして Bitmap を見てください。そのため、BitmapData の場合、その境界からピクセルを取得しようとしないでください。

于 2012-11-16T03:10:12.317 に答える