像素贴紧和平滑
Bitmap 类的 pixelSnapping 属性可确定 Bitmap 对象是否贴紧最近的像素 。此属性接受 PixelSnapping 类中定义的三个常量之一:ALWAYS 、AUTO 和 NEVER 。
myBitmap.pixelSnapping = PixelSnapping.ALWAYS;
通常,缩放位图图像时,图像会变得模糊或扭曲。若要帮助减少这种扭曲,请使用 BitmapData 类的 smoothing 属性。如果将该布尔值属性设置为 true ,当缩放图像时,可使图像中的像素平滑 或消除锯齿 。它可使图像更加清晰、更加自然。
了解 BitmapData 类
BitmapData 类位于 flash.display 包中,它可以看作是加载的或动态创建的位图图像中包含的像素的照片快照。此快照用对象中的像素数据 的数组表示 。
var myBitmap:BitmapData = new BitmapData(width:Number, height:Number, transparent:Boolean, fillColor:uinit);
transparent 参数指定位图数据是 (true) 否 (false) 包括Alpha 通道 。fillColor 参数是一个 32 位颜色值,它指定背景颜色和透明度值 (如果设置为 true)。
var myBitmap:BitmapData = new BitmapData(150, 150, true, 0x80FF3300);
处理单个像素
getPixel() 方法:从作为参数传递的一组 x, y (像素)坐标中检索 RGB 值。相对应的是setPixel() 。
getPixel32() 方法:返回的值包含表示所选像素的 Alpha 通道(透明度)值的附加数据 。相对应的是setPixel32() 。
var red:uint = 0xFF0000; myBitmapData.setPixel(50, 50, red); var pixelValue:uint = myBitmapData.getPixel(50, 50); trace(pixelValue.toString(16));
getPixels() 方法:从作为参数传递的矩形像素数据区域 中生成字节数组 。字节数组的每个元素(即像素值)都是无符号的整数(32 位未经相乘的像素值)。相对应的是setPixels() 。
var bitmapDataObject1:BitmapData = new BitmapData(100, 100, false, 0x006666FF); var bitmapDataObject2:BitmapData = new BitmapData(100, 100, false, 0x00FF0000); var rect:Rectangle = new Rectangle(0, 0, 100, 100); var bytes:ByteArray = bitmapDataObject1.getPixels(rect); bytes.position = 0; bitmapDataObject2.setPixels(rect, bytes);
复制位图数据
滚动位图
scroll () 方法可以复制屏幕上的位图,然后将它粘贴到由 (x, y) 参数指定的新偏移位置 。
var myBitmapDataObject:BitmapData = new BitmapData(1000, 1000, false, 0x00FF0000); myBitmapDataObject.scroll(1, 1);
利用 mipmap 处理
“MIP map” (也称为“mipmap”)是组合在一起并与纹理关联 的位图 ,可改善运行时呈现品质和性能。