我正在尝试分析ActionScript内部缩放的工作原理。
我创建了一个小场景:
创建了一个位图,并使用了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';
}
缩放后位图的值
Values of bitmap
╔══════════╦══════════╗
║ 16777215 ║ 16777215 ║
║ 16777215 ║ 16777215 ║
╠══════════╬══════════╣
║ 0 ║ 0 ║
║ 0 ║ 0 ║
╚══════════╩══════════╝
位置(2,0),(2,1),(3,0),(3,1)的像素值是多少?是否不取现有像素的平均值?
我只用这4个像素进行分析。我得出结论,在对显示对象进行缩放之后,他正在改变X和Y轴单位。
我是ActionScript和图像处理的新手。请指出我正确的方向。
答案 0 :(得分:3)
缩放位图时,BitmapDatas不会缩放。将Bitmap看作BitmapData的可伸缩包装器。因此,对于BitmapData,您不应该尝试从其边界中获取像素。