ImageSnapshot 用于在尺寸上灵活限制的较大图像
我正在使用图像标签加载并显示一个大图像,例如 6000 x 6000 像素。我想拍一张图像的快照。但我使用 Flex 4、flash Player 10 得到的最大限制是 2880 px 尺寸。FP 10 的限制没有增加到 4096 px 吗?那我为什么要2880呢?有没有办法增加这个尺寸。或者您建议这样做的任何其他方法?
谢谢。
I'm loading and displaying a large image say 6000 x 6000 px using an image tag. I wanted to take a snapshot of the image. But the maximum limit I get is 2880 px dimensions using Flex 4, flash player 10. Didn't the limit of FP 10 increased to 4096 px? Then why am I getting 2880? Is there a way to increase that size. Or any other method you suggest in doing so?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以将其存储在多个 BitmapData 中,并且可以将其存储在一个 ByteArray 中。
you can store it in several BitmapDatas and afaik in one 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/
ImageSnapshot class uses BitmapData class to create a bitmap image of your screenshot before being converted to PNG or JPEG.
Until flash player 9, BitmapData class was limited to 2880 pixels. But Since flash player 10, the limit is higher (around 8000pixels for height or width).
But the ImageSnapshot wasn't updated.
Here I explain a workaround :
http://weflex.wordpress.com/2013/03/06/imagesnapshot-and-bitmapdata-size-limit/
So far I can go till 4650pixels/
请注意方法签名:
公共静态函数 captureImage(源:*,dpi:Number = 0,编码器:IImageEncoder = null,scaleLimited:Boolean = true):ImageSnapshot
那么,您尝试过吗:
mySnapshot:ImageSnapshot = ImageSnapshot.captureImage(mySource, 200, mx.graphics.codec.JPEGEncoder, false);
注意最后一个参数== false,以禁用scaleLimited...
Do note the method signature:
public static function captureImage(source:*, dpi:Number=0, encoder:IImageEncoder=null, scaleLimited:Boolean=true):ImageSnapshot
So, have you tried:
mySnapshot:ImageSnapshot = ImageSnapshot.captureImage(mySource, 200, mx.graphics.codec.JPEGEncoder, false);
Note the last parameter == false, to disable scaleLimited...