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

缩放位图时,BitmapDatas 不会缩放。将 Bitmap 视为 BitmapData 的可扩展包装器。因此,对于 BitmapData,您不应该尝试让像素超出其范围。

于 2012-11-16T03:10:12.317 回答