我想将Writablebitmap转换为Jpeg流,看起来没有平台支持,我可以在网上看到一堆开源编码器库,我想得到你的意见哪个是推荐的一个用的术语性能和可靠性。
答案 0 :(得分:5)
我在FJCore方面取得了很好的经验。 我不久前还在博客上发表过http://kodierer.blogspot.com/2009/11/convert-encode-and-decode-silverlight.html
答案 1 :(得分:5)
我在FJCore和LibJpeg.Net都花了很多时间。 FJCore更容易使用,因为它是从Java移植过来的,并且有一个模糊地类似于你期望在C#中看到的对象模型。然而,LibJpeg.NET是迄今为止更完整的库(它基于非正式的规范libjpeg),并且它也明显更快。举一个例子,FJCore使用反向离散余弦变换的简单实现,包括1024次乘法和每个8x8块的额外1024次加法。相比之下,LibJpeg.NET使用高性能AAN算法,该算法仅需144次乘法和464次加法(参见http://datasheets.chipdb.org/Intel/x86/MMX/MMX/AP528.HTM#AAN Algorithm)。此外,FJCore在使用内存方面的效率相当低,不断重新创建可以轻松重用的对象。与此同时,由于FJCore的优化程度较低,因此攻击起来要容易得多。
对于我目前的项目(涉及为Silverlight编写视频编解码器),我使用FJCore作为起点,修复了一大堆低效率,用LibJpeg.NET替换了IDCT算法,最后得到了这件事给了我大约10倍的原始表现。
答案 2 :(得分:0)
Ken为什么不将更新后的代码提交给FJCore来源?