如何在未安装编解码器的情况下解码/打开 .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 格式。
如果您没有安装编解码器,则必须读取原始图像数据并将其转换为位图或您需要的其他格式can读。为此,您需要格式规范的副本,以便可以编写读取二进制数据的代码。
我强烈建议您使用编解码器,或者查找某人编写的已经处理转换的代码。但是,如果您确实想尝试编写图像格式转换代码,那么您的首要任务就是获取格式规范。
对 [CR2 图像格式] 的快速 Google 搜索揭示了这一点佳能 CR2 规格。说实话,我不知道这个说法有多准确,但看起来很合理。使用搜索引擎一段时间可能会发现其他格式的类似文档。
预先警告:编写这些转换可能是一项非常困难的任务。我再次建议您找到一些可以利用的现有代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)