使用Flex 3,我想拍摄像这样的图像快照:
var logoSnapshot:ImageSnapshot = ImageSnapshot.captureImage(logoContainer);
并将其转换为Image类可以使用的内容。我看到有一个名为“data”的属性,它包含一个byteArray,所以我想我的问题是:如何将一个存储为byteArray的图像转换为Image类可以用来显示的东西? / p>
答案 0 :(得分:2)
应该有效的简单实现:
var bm : Bitmap = new Bitmap(ImageSnapshot.captureBitmapData(logoContainer));
将“bm”设置为Image对象的源。
答案 1 :(得分:0)
BitmapData类具有:
public function setPixels(rect:Rectangle, inputByteArray:ByteArray):void
将矩形设置为图像的大小,然后发送byteArray。
然后,您应该能够将BitmapData绘制到屏幕上。
答案 2 :(得分:0)
这需要几步,但并不难。
使用setPixels()
将ByteArray绘制到BitmapData实例。
创建一个新的BitmapAsset实例,并传入您的BitmapData。
将BitmapAsset传递给Image控件的source
属性。
这假设您的ByteArray与setPixels()
兼容。根据文档,它需要是一组代表32位ARGB值的无符号整数。如果ByteArray以另一种格式保存图像,则必须找到不同的方式。如果你很幸运,它将被编码为JPG,PNG或GIF,你将能够将ByteArray直接传递给Image上的source
,而Flash Player已经知道如何解释它
答案 3 :(得分:0)
您实际上可以直接将ByteArray设置为当前Flex SDK中Image类的source属性。