使用 Flex 创建 gif/bmp 文件
public function bmdToStr(bmd:BitmapData,width:int,height:int):String {
var encoder:JPEGEncoder = new JPEGEncoder();
var encBytes:ByteArray = encoder.encode(bmd);
return ImageSnapshot.encodeImageAsBase64(new ImageSnapshot(width,height,encBytes,"image/jpeg"));
}
截至目前,我正在从位图数据创建 JPEG 图像,如上所述。
我也可以使用 PNGEncoder 创建 png 图像。
如何创建 .bmp 或 .gif 文件?
public function bmdToStr(bmd:BitmapData,width:int,height:int):String {
var encoder:JPEGEncoder = new JPEGEncoder();
var encBytes:ByteArray = encoder.encode(bmd);
return ImageSnapshot.encodeImageAsBase64(new ImageSnapshot(width,height,encBytes,"image/jpeg"));
}
As of now, I am creating JPEG image from bitmapdata as above.
I can use PNGEncoder for creating png images as well.
How do I create .bmp or .gif files?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为什么要创建 BMP?同样的事情,你为什么要创建一个 GIF?
GIF 唯一有趣的是,它支持动画。除此之外,它已经被弃用了。如果你想要无损压缩使用PNG,如果大小更重要,请使用JPG。如果你真的想要动画,我建议你看看GIF动画编码器。
而BMP则完全不值得考虑。对于 24 位图像(透明的 32 位图像)而言,它太大了。 800x600 的图像将产生 1.4 MB。 BMP 没有任何优点,除了不需要解压缩显示之外,但现在这几乎没有什么区别,特别是对于 Web。
如果你真的认为你需要它,那么你应该简单地查找 bmp 规格。这真的很简单。
why would you create BMP? and for the same matter, why would you create a GIF?
the only interesting thing about GIF is, it supports animation. apart from that it's simply deprecated. if you want lossless compresion use PNG, if size is more important, use JPG. if it is really animation you want, I suggest you have a look at GIF Animation Encoder.
and BMP is totally not worth any consideration. it's just huge for 24 bit images (32 with transparency). an image 800x600 will result in 1.4 MB. BMP offers no advantages except the fact that it doesn't require decompression for display, but nowadays this makes virtually no difference, especially for the web.
if you really think, you need it, then you should simply lookup bmp specs. it's really straight forward.