flash actionscript30 BitmapData.docx
- 文档编号:30521177
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:81
- 大小:52.67KB
flash actionscript30 BitmapData.docx
《flash actionscript30 BitmapData.docx》由会员分享,可在线阅读,更多相关《flash actionscript30 BitmapData.docx(81页珍藏版)》请在冰豆网上搜索。
flashactionscript30BitmapData
包
flash.display
类
publicclassBitmapData
继承
BitmapData
Object
实现
IBitmapDrawable
语言版本:
ActionScript3.0
运行时版本:
AIR1.0,FlashPlayer9
使用BitmapData类,您可以处理Bitmap对象的数据(像素)。
可以使用BitmapData类的方法创建任意大小的透明或不透明位图图像,并在运行时采用多种方式操作这些图像。
也可以访问使用flash.display.Loader类加载的位图图像的BitmapData。
此类允许您将位图呈现操作与FlashPlayer的内部显示更新例程分隔开来。
通过直接操作BitmapData对象,您可以创建复杂的图像,不会因连续重新绘制矢量数据的内容而产生每帧开销。
BitmapData类的方法支持通过可用于非位图显示对象的滤镜无法得到的效果。
BitmapData对象包含像素数据的数组。
此数据可以表示完全不透明的位图,或表示包含Alpha通道数据的透明位图。
以上任一类型的BitmapData对象都作为32位整数的缓冲区进行存储。
每个32位整数确定位图中单个像素的属性。
每个32位整数都是四个8位通道值(从0到255)的组合,这些值描述像素的Alpha透明度以及红色、绿色、蓝色(ARGB)值。
(对于ARGB值,最高有效字节代表Alpha通道值,其后的有效字节分别代表红色、绿色和蓝色通道值。
)
将这四个通道(Alpha、红色、绿色和蓝色)与BitmapData.copyChannel()方法或DisplacementMapFponentX及DisplacementMapFponentY属性一起使用时,这些通道以数字形式表示,并且这些数字在BitmapDataChannel类中由以下常量表示:
∙BitmapDataChannel.ALPHA
∙BitmapDataChannel.RED
∙BitmapDataChannel.GREEN
∙BitmapDataChannel.BLUE
通过使用Bitmap对象的bitmapData属性,可以将BitmapData对象附加到Bitmap对象。
可以使用Graphics.beginBitmapFill()方法用BitmapData对象填充Graphics对象。
BitmapData对象的最大宽度和高度为2880像素。
如果BitmapData对象无效(例如,如果它的height==0且width==0),或者已通过dispose()处理了该对象,则对BitmapData对象的任何方法或属性的调用都会引发ArgumentError错误。
另请参见
flash.display.Bitmap.bitmapData
flash.display.Graphics.beginBitmapFill()
flash.display.Loader
公共属性
属性
定义方
constructor:
Object
对类对象或给定对象实例的构造函数的引用。
Object
height:
int
[只读(read-only)]位图图像的高度,以像素为单位。
BitmapData
prototype:
Object
[静态]对类或函数对象的原型对象的引用。
Object
rect:
Rectangle
[只读(read-only)]定义位图图像大小和位置的矩形。
BitmapData
transparent:
Boolean
[只读(read-only)]定义位图图像是否支持每个像素具有不同的透明度。
BitmapData
width:
int
[只读(read-only)]位图图像的宽度,以像素为单位。
BitmapData
公共方法
方法
定义方
BitmapData(width:
int,height:
int,transparent:
Boolean=true,fillColor:
uint=0xFFFFFFFF)
创建一个具有指定的宽度和高度的BitmapData对象。
BitmapData
applyFilter(sourceBitmapData:
BitmapData,sourceRect:
Rectangle,destPoint:
Point,filter:
BitmapFilter):
void
取得一个源图像和一个滤镜对象,并生成过滤的图像。
BitmapData
clone():
BitmapData
返回一个新的BitmapData对象,它是对原始实例的克隆,包含与原始实例所含位图完全相同的副本。
BitmapData
colorTransform(rect:
Rectangle,colorTransform:
ColorTransform):
void
使用ColorTransform对象调整位图图像的指定区域中的颜色值。
BitmapData
compare(otherBitmapData:
BitmapData):
Object
比较两个BitmapData对象。
BitmapData
copyChannel(sourceBitmapData:
BitmapData,sourceRect:
Rectangle,destPoint:
Point,sourceChannel:
uint,destChannel:
uint):
void
将数据从另一个BitmapData对象或当前BitmapData对象的一个通道传输到当前BitmapData对象的某个通道中。
BitmapData
copyPixels(sourceBitmapData:
BitmapData,sourceRect:
Rectangle,destPoint:
Point,alphaBitmapData:
BitmapData=null,alphaPoint:
Point=null,mergeAlpha:
Boolean=false):
void
为没有拉伸、旋转或色彩效果的图像之间的像素处理提供一个快速例程。
BitmapData
dispose():
void
释放用来存储BitmapData对象的内存。
BitmapData
draw(source:
IBitmapDrawable,matrix:
Matrix=null,colorTransform:
ColorTransform=null,blendMode:
String=null,clipRect:
Rectangle=null,smoothing:
Boolean=false):
void
使用FlashPlayer矢量渲染器在位图图像上绘制source显示对象。
BitmapData
fillRect(rect:
Rectangle,color:
uint):
void
使用指定的ARGB颜色填充一个矩形像素区域。
BitmapData
floodFill(x:
int,y:
int,color:
uint):
void
对图像执行倾倒填充操作,从(x,y)坐标开始,填充一种特定的颜色。
BitmapData
generateFilterRect(sourceRect:
Rectangle,filter:
BitmapFilter):
Rectangle
已知BitmapData对象、源矩形和滤镜对象,确定applyFilter()方法调用所影响的目标矩形。
BitmapData
getColorBoundsRect(mask:
uint,color:
uint,findColor:
Boolean=true):
Rectangle
确定矩形区域是将位图图像中指定颜色的所有像素完全包括起来(如果将findColor参数设置为true),还是将不包括指定颜色的所有像素完全包括起来(如果将findColor参数设置为false)。
BitmapData
getPixel(x:
int,y:
int):
uint
返回一个整数,它表示BitmapData对象中在特定点(x,y)处的RGB像素值。
BitmapData
getPixel32(x:
int,y:
int):
uint
返回一个ARGB颜色值,它包含Alpha通道数据和RGB数据。
BitmapData
getPixels(rect:
Rectangle):
ByteArray
从像素数据的矩形区域生成一个字节数组。
BitmapData
getVector(rect:
Rectangle):
Vector.
从像素数据的矩形区域生成一个矢量数组。
BitmapData
hasOwnProperty(name:
String):
Boolean
指示对象是否已经定义了指定的属性。
Object
histogram(hRect:
Rectangle=null):
Vector.
计算BitmapData对象的256值二进制数直方图。
BitmapData
hitTest(firstPoint:
Point,firstAlphaThreshold:
uint,secondObject:
Object,secondBitmapDataPoint:
Point=null,secondAlphaThreshold:
uint=1):
Boolean
在一个位图图像与一个点、矩形或其它位图图像之间执行像素级的点击检测。
BitmapData
isPrototypeOf(theClass:
Object):
Boolean
指示Object类的实例是否在指定为参数的对象的原型链中。
Object
lock():
void
锁定图像,以使引用BitmapData对象的任何对象(如Bitmap对象)在此BitmapData对象更改时不会更新。
BitmapData
merge(sourceBitmapData:
BitmapData,sourceRect:
Rectangle,destPoint:
Point,redMultiplier:
uint,greenMultiplier:
uint,blueMultiplier:
uint,alphaMultiplier:
uint):
void
对每个通道执行从源图像向目标图像的混合。
BitmapData
noise(randomSeed:
int,low:
uint=0,high:
uint=255,channelOptions:
uint=7,grayScale:
Boolean=false):
void
使用表示随机杂点的像素填充图像。
BitmapData
paletteMap(sourceBitmapData:
BitmapData,sourceRect:
Rectangle,destPoint:
Point,redArray:
Array=null,greenArray:
Array=null,blueArray:
Array=null,alphaArray:
Array=null):
void
重新映射一个具有最多四组调色板数据(每个通道一组)的图像中的颜色通道值。
BitmapData
perlinNoise(baseX:
Number,baseY:
Number,numOctaves:
uint,randomSeed:
int,stitch:
Boolean,fractalNoise:
Boolean,channelOptions:
uint=7,grayScale:
Boolean=false,offsets:
Array=null):
void
生成Perlin杂点图像。
BitmapData
pixelDissolve(sourceBitmapData:
BitmapData,sourceRect:
Rectangle,destPoint:
Point,randomSeed:
int=0,numPixels:
int=0,fillColor:
uint=0):
int
执行源图像到目标图像的像素溶解,或使用同一图像执行像素溶解。
BitmapData
propertyIsEnumerable(name:
String):
Boolean
指示指定的属性是否存在、是否可枚举。
Object
scroll(x:
int,y:
int):
void
按某一(x,y)像素量滚动图像。
BitmapData
setPixel(x:
int,y:
int,color:
uint):
void
设置BitmapData对象的单个像素。
BitmapData
setPixel32(x:
int,y:
int,color:
uint):
void
设置BitmapData对象单个像素的颜色和Alpha透明度值。
BitmapData
setPixels(rect:
Rectangle,inputByteArray:
ByteArray):
void
将字节数组转换为像素数据的矩形区域。
BitmapData
setPropertyIsEnumerable(name:
String,isEnum:
Boolean=true):
void
设置循环操作动态属性的可用性。
Object
setVector(rect:
Rectangle,inputVector:
Vector.
void
BitmapData
threshold(sourceBitmapData:
BitmapData,sourceRect:
Rectangle,destPoint:
Point,operation:
String,threshold:
uint,color:
uint=0,mask:
uint=0xFFFFFFFF,copySource:
Boolean=false):
uint
根据指定的阈值测试图像中的像素值,并将通过测试的像素设置为新的颜色值。
BitmapData
toString():
String
返回指定对象的字符串表示形式。
Object
unlock(changeRect:
Rectangle=null):
void
解除锁定图像,以使引用BitmapData对象的任何对象(如Bitmap对象)在此BitmapData对象更改时更新。
BitmapData
valueOf():
Object
返回指定对象的原始值。
Object
属性详细信息
height
属性
height:
int [只读(read-only)]
语言版本:
ActionScript3.0
运行时版本:
AIR1.0,FlashPlayer9
位图图像的高度,以像素为单位。
实现
publicfunctiongetheight():
int
rect
属性
rect:
Rectangle [只读(read-only)]
语言版本:
ActionScript3.0
运行时版本:
AIR1.0,FlashPlayer9
定义位图图像大小和位置的矩形。
矩形的顶部和左侧为零;宽度和高度等于BitmapData对象的宽度和高度(以像素为单位)。
实现
publicfunctiongetrect():
Rectangle
transparent
属性
transparent:
Boolean [只读(read-only)]
语言版本:
ActionScript3.0
运行时版本:
AIR1.0,FlashPlayer9
定义位图图像是否支持每个像素具有不同的透明度。
只有当通过为构造函数的transparent参数传入true来构造BitmapData对象时,才能设置此值。
然后,在创建BitmapData对象之后,可以通过确定transparent属性的值是否为true来检查该对象是否支持每个像素具有不同的透明度。
实现
publicfunctiongettransparent():
Boolean
width
属性
width:
int [只读(read-only)]
语言版本:
ActionScript3.0
运行时版本:
AIR1.0,FlashPlayer9
位图图像的宽度,以像素为单位。
实现
publicfunctiongetwidth():
int
构造函数详细信息
BitmapData
()
构造函数
publicfunctionBitmapData(width:
int,height:
int,transparent:
Boolean=true,fillColor:
uint=0xFFFFFFFF)
语言版本:
ActionScript3.0
运行时版本:
AIR1.0,FlashPlayer9
创建一个具有指定的宽度和高度的BitmapData对象。
如果为fillColor参数指定一个值,则位图中的每个像素都将设置为该颜色。
默认情况下,将位图创建为透明位图,除非您为transparent参数传递值false。
创建了不透明位图后,将无法将其更改为透明位图。
不透明位图中的每个像素仅使用24位的颜色通道信息。
如果将位图定义为透明,则每个像素将使用32位的颜色通道信息,其中包括Alpha透明度通道。
BitmapData对象的最大宽度和高度为2880像素。
如果指定的宽度值或高度值大于2880,则不会创建新实例。
参数
width:
int—位图图像的宽度,以像素为单位。
height:
int—位图图像的高度,以像素为单位。
transparent:
Boolean(default=true)—指定位图图像是否支持每个像素具有不同的透明度。
默认值为true(透明)。
若要创建完全透明的位图,请将transparent参数的值设置为true,将fillColor参数的值设置为0x00000000(或设置为0)。
将transparent属性设置为false可以略微提升呈现性能。
fillColor:
uint(default=0xFFFFFFFF)—用于填充位图图像区域的32位ARGB颜色值。
默认值为0xFFFFFFFF(纯白色)。
引发
ArgumentError—宽度和/或高度无效(小于等于0,大于2880)
方法详细信息
applyFilter
()
方法
publicfunctionapplyFilter(sourceBitmapData:
BitmapData,sourceRect:
Rectangle,destPoint:
Point,filter:
BitmapFilter):
void
语言版本:
ActionScript3.0
运行时版本:
AIR1.0,FlashPlayer9
取得一个源图像和一个滤镜对象,并生成过滤的图像。
此方法依赖于内置滤镜对象的行为,这些对象确定受输入源矩形影响的目标矩形。
应用滤镜后,结果图像可能会大于输入图像。
例如,如果使用BlurFilter类来模糊源矩形(50,50,100,100),并且目标点为(10,10),则在目标图像中更改的区域将会由于该模糊处理而大于(10,10,60,60)。
这会在applyFilter()调用过程中在内部发生。
如果sourceBitmapData参数的sourceRect参数是内部区域,如200x200图像中的(50,50,100,100),则滤镜会使用sourceRect参数外部的源像素来生成目标矩形。
如果BitmapData对象和指定为sourceBitmapData参数的对象是同一对象,FlashPlayer将使用对象的临时副本来执行滤镜。
为了获得最佳性能,请避免这种情况。
参数
sourceBitmapData:
BitmapData—要使用的输入位图图像。
源图像可以是另一个BitmapData对象,也可以引用当前BitmapData实例。
sourceRect:
Rectangle—定义要用作输入的源图像区域的矩形。
destPoint:
Point—目标图像(当前BitmapData实例)中与源矩形的左上角对应的点。
filter:
BitmapFilter—用于执行过滤操作的滤镜对象。
每种滤镜都有某些要求,如下所示:
∙BlurFilter—此滤镜可使用不透明或透明的源图像和目标图像。
如果这两种图像的格式不匹配,则在过滤过程中生成的源图像副本将与目标图像的格式匹配。
∙BevelFilter、DropShadowFilter、GlowFilter、ChromeFilter—这些滤镜的目标图像必须是透明图像。
调用DropShadowFilter或GlowFilter会创建包含投影或发光的Alpha通道数据的图像。
它不会在目标图像上创建投影。
如果将这些滤镜中的任何滤镜用于不透明的目标图像,将会引发异常(ActionScript3.0)。
∙ConvolutionFilter—此滤镜可使用不透明或透明的源图像和目标图像。
∙ColorMatrixFilter—此滤镜可使用不透明或透明的源图像和目标图像。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- flash actionscript30 BitmapData