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

Actionscript 3 在ActionScript中缩放后位图图像的像素值?,actionscript-3,image-processing,flex4,pixel,Actionscript 3,Image Processing,Flex4,Pixel,我试图分析ActionScript内部的伸缩工作原理 我创建了一个小场景: 创建了一个2x2JPG图像并导入到flex中。图像现在有4个像素 创建位图并使用getPixel(x,y)和打印值 Values of bitmap 2 X 2 ╔══════════╦══════════╗ ║ 16777215 ║ 16777215 ║ ╠══════════╬══════════╣ ║ 16777215 ║ 16777215 ║ ╚══════════╩══════════╝ 现在我将位图缩放到

我试图分析ActionScript内部的伸缩工作原理

我创建了一个小场景:

  • 创建了一个2x2JPG图像并导入到flex中。图像现在有4个像素
  • 创建位图并使用getPixel(x,y)和打印值

    Values of bitmap 2 X 2
    ╔══════════╦══════════╗
    ║ 16777215 ║ 16777215 ║
    ╠══════════╬══════════╣
    ║ 16777215 ║ 16777215 ║
    ╚══════════╩══════════╝
    
  • 现在我将位图缩放到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';
    }
    
  • 位置(2,0)、(2,1)、(3,0)、(3,1)处的像素取什么值?它不采用现有像素的平均值吗

    我只拿了这4个像素来分析。我的结论是,X轴和Y轴单位在相对于显示对象缩放后发生了变化


    我不熟悉ActionScript和图像处理。请给我指出正确的方向

    缩放位图时,位图数据不会缩放。将位图视为BitmapData的可伸缩包装器。因此,对于位图数据,不应尝试使像素超出其边界。

    缩放位图时,位图数据不会缩放。将位图视为BitmapData的可伸缩包装器。因此,对于位图数据,您不应该尝试将像素移出其边界。

    所以我需要手动更改位图数据中像素的值?我期望完成像素复制或相邻像素的平均双线性插值。我想我会手工编写函数来完成它们,flash不会在下面做这些。不完全是这样,您可以执行
    BitmapData.draw()
    来获得双线性插值。必须提供变换矩阵才能将特定对象绘制到位图数据上。有很多函数可以实现这样的目标。所以我需要手动更改位图数据中像素的值吗?我期望完成像素复制或相邻像素的平均双线性插值。我想我会手工编写函数来完成它们,flash不会在下面做这些。不完全是这样,您可以执行
    BitmapData.draw()
    来获得双线性插值。必须提供变换矩阵才能将特定对象绘制到位图数据上。要实现这样一个目标,还有更多的功能。
    Values of bitmap
    ╔══════════╦══════════╗
    ║ 16777215 ║ 16777215 ║
    ║ 16777215 ║ 16777215 ║
    ╠══════════╬══════════╣
    ║        0 ║        0 ║
    ║        0 ║        0 ║
    ╚══════════╩══════════╝