如何在没有安装编解码器的情况下解码/打开原始图像文件(如.CR2或.NEF和.ARW ),比如lightroom打开原始文件?我的代码如下所示:
if (fe == "CR2" | fe == "NEF" | fe == "ARW" )
{
BitmapDecoder bmpDec = BitmapDecoder.Create(new Uri(op.FileName), BitmapCreateOptions.DelayCreation, BitmapCacheOption.None);
BitmapSource bsource = bmpDec.Frames[0];
info_box.Content = fe;
imgControl.Source = bsource;
}只对安装的原始编解码器起作用,而不使用ARW格式.。
发布于 2013-07-31 17:07:06
如果没有安装编解码器,则必须读取原始图像数据,并将其转换为位图或其他可以读取的格式。为此,您需要格式规范的副本,以便编写读取二进制数据的代码。
我强烈建议您获得一个编解码器,或者找到某个已经编写过的代码来处理转换。但是,如果您真的想尝试编写图像格式转换代码,那么您的首要任务就是获取格式规范。
谷歌在CR2图像格式上的快速搜索显示了这个佳能CR2规范。老实说,我不知道这有多准确,但看起来是合理的。花点时间使用搜索引擎可能会发现其他格式的类似文档。
预先警告:编写这些转换可能是一项非常困难的任务。同样,我建议您找到一些可以利用的现有代码。
发布于 2013-07-31 17:37:02
如果您坚持不安装编解码器,那么您最好的选择是:
http://www.cybercom.net/~dcoffin/dcraw/
http://sourceforge.net/projects/dcrawnet/
https://stackoverflow.com/questions/17976231
复制相似问题