我正在使用图像标签加载并显示一个大图像,例如 6000 x 6000 像素。我想拍一张照片的快照。但是我得到的最大限制是使用 Flex 4、flash player 10 的 2880 像素尺寸。FP 10 的限制不是增加到 4096 像素吗?那为什么我得到2880?有没有办法增加这个尺寸。或者您建议的任何其他方法?
谢谢。
3 回答
您可以将其存储在几个 BitmapDatas 中,然后将其存储在一个 ByteArray 中。
ImageSnapshot 类使用 BitmapData 类在转换为 PNG 或 JPEG 之前创建屏幕截图的位图图像。
在 flash player 9 之前,BitmapData 类被限制为 2880 像素。但自 flash player 10 起,限制更高(高度或宽度约为 8000 像素)。
但是 ImageSnapshot 没有更新。
在这里,我解释了一种解决方法:
http://weflex.wordpress.com/2013/03/06/imagesnapshot-and-bitmapdata-size-limit/
到目前为止,我可以达到 4650pixels/
请注意方法签名: public static function captureImage(source:*, dpi:Number=0, encoder:IImageEncoder=null, scaleLimited:Boolean=true):ImageSnapshot
那么,您是否尝试过: mySnapshot:ImageSnapshot = ImageSnapshot.captureImage(mySource, 200, mx.graphics.codec.JPEGEncoder, false);
注意最后一个参数 == false,禁用 scaleLimited...