我需要将从影片剪辑抓取的bitmapData转换为jpeg或png。有没有一些解释?什么是从位图数据获取jpg的最简单方法
回答
看到这个例子中取一部分,其将字节的图像,我已经给整个供您参考
package {
import encoding.JPGEncoder;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Loader;
import flash.display.Sprite;
import flash.utils.ByteArray;
import flash.events.Event
public class Converter extends Sprite {
[Embed(source = "image.jpg")]
private var image:Class
private const QUALITY:uint = 80;
public function Converter():void {
var bitmap:Bitmap = new image();
var bitmapData:BitmapData = bitmap.bitmapData;
//encode BitmapData to JPG
var encoder:JPGEncoder = new JPGEncoder(QUALITY);
var rawBytes:ByteArray = encoder.encode(bitmap.bitmapData);
//decode JPG ByteArray back to BitmapData
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, getBitmapData)
loader.loadBytes(rawBytes);
}
private function getBitmapData(e:Event):void {
var decodedBitmapData:BitmapData = Bitmap(e.target.content).bitmapData
trace(decodedBitmapData);
}
}
}
这不是最简单的方法,但根据您的图像的尺寸,可能是值得一看。延斯·克劳斯编制jpeglib与炼金术,它编码速度远远超过的as3corelib的版本,甚至蒂博因贝特的改进AS3版本:
http://www.websector.de/blog/2009/06/21/speed-up-jpeg-encoding-using-alchemy/
hm,这非常有趣。我曾经想过,通过炼金术可以提高生产力! – Eugeny89 2011-04-19 14:41:49
在我们的应用程序中,它几乎是一个10倍的加速。 – 2011-04-19 20:55:04
现在,您可以使用内置到Flash Player 11.3和AIR 3.3的原生JPEG编码。
var quality:int = 50;
var bounds:Rectangle = bitmapData.rect;
var result:ByteArray = bitmapData.encode(bounds, new JPEGEncoderOptions(50));
这需要-swf-version=16
被传递到编译器。
对于-swf-version参数为+1(无法让编码自己工作,但是做到了) – frankhermes 2012-06-21 13:11:56
- 1. 获取iPhone当前位置的最简单方法是什么?
- 2. 从HSQLDB获取ddl sql-script的最简单方法是什么?
- 3. 从网址获取号码的最简单方法是什么?
- 4. 在Java中获取数据库元数据的最简单方法是什么?
- 5. 使用wxPython显示JPG最简单的方法是什么?
- 6. Android:使WebView显示位图的最简单方法是什么?
- 7. 在java中从MP3头中提取JPG数据的最简单方法是什么?
- 8. 从简单的USB HID磁卡读卡器获取跟踪数据的最简单方法是什么?
- 9. 什么是最简单的方法来获取圆角opengl多维数据集
- 10. 获取XmlElement顶级文本的最简单方法是什么?
- 11. 获取域名IP地址的最简单方法是什么?
- 12. 获取经纬度的最简单方法是什么?
- 13. 获取子元素ID最简单的方法是什么?
- 14. 在C#中获取OutOfMemoryException的最简单方法是什么?
- 15. 从jqGrid单元获取数据的最佳方式是什么?
- 16. 什么是从gfortran读取.dbf文件的最简单方法
- 17. 什么是从十六进制中提取8位的最简单方法?
- 18. 从C++调用Java方法的最简单方法是什么?
- 19. 什么是从Javascript调用C#方法的最简单方法
- 20. 从Google Analytics获取数据的最简单方法?
- 21. 最简单的方法来获取所有数据从ravendb
- 22. Java:XML到数据库中,最简单的方法是什么?
- 23. Android:保存少量数据的最简单方法是什么?
- 24. 从iPhone获取日志文件的最简单方法是什么?
- 25. 从Android获取崩溃堆栈跟踪的最简单方法是什么?
- 26. 从输入字符串获取标记的最简单方法是什么?
- 27. 从Illustrator到Java获取多边形的最简单方法是什么?
- 28. 在C#中从AD获取主组名的最简单方法是什么?
- 29. 从delphi的数组数据播放声音最简单的方法是什么
- 30. 获取mysql_fetch_assoc循环的数据指针当前位置的最简单方法是什么?
这就是我需要的 – Eugeny89 2011-04-19 12:13:12