在ActionScript中缩放后的位图图像的像素值?

时间:2012-11-15 18:28:13

标签: actionscript-3 image-processing flex4 pixel

我正在尝试分析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 ║
    ╚══════════╩══════════╝
    
  4. 位置(2,0),(2,1),(3,0),(3,1)的像素值是多少?是否不取现有像素的平均值?

    我只用这4个像素进行分析。我得出结论,在对显示对象进行缩放之后,他正在改变X和Y轴单位。

    我是ActionScript和图像处理的新手。请指出我正确的方向。

1 个答案:

答案 0 :(得分:3)

缩放位图时,BitmapDatas不会缩放。将Bitmap看作BitmapData的可伸缩包装器。因此,对于BitmapData,您不应该尝试从其边界中获取像素。