首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在c#中读取原始图像文件

在c#中读取原始图像文件
EN

Stack Overflow用户
提问于 2013-07-31 16:45:58
回答 2查看 5.2K关注 0票数 4

如何在没有安装编解码器的情况下解码/打开原始图像文件(如.CR2或.NEF和.ARW ),比如lightroom打开原始文件?我的代码如下所示:

代码语言:javascript
复制
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格式.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-31 17:07:06

如果没有安装编解码器,则必须读取原始图像数据,并将其转换为位图或其他可以读取的格式。为此,您需要格式规范的副本,以便编写读取二进制数据的代码。

我强烈建议您获得一个编解码器,或者找到某个已经编写过的代码来处理转换。但是,如果您真的想尝试编写图像格式转换代码,那么您的首要任务就是获取格式规范。

谷歌在CR2图像格式上的快速搜索显示了这个佳能CR2规范。老实说,我不知道这有多准确,但看起来是合理的。花点时间使用搜索引擎可能会发现其他格式的类似文档。

预先警告:编写这些转换可能是一项非常困难的任务。同样,我建议您找到一些可以利用的现有代码。

票数 2
EN

Stack Overflow用户

发布于 2013-07-31 17:37:02

如果您坚持不安装编解码器,那么您最好的选择是:

http://www.cybercom.net/~dcoffin/dcraw/

  • 用C语言编写,支持大多数相机

http://sourceforge.net/projects/dcrawnet/

  • 很明显是(部分?)从DCRAW到C#的端口,但项目似乎没有活动
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17976231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档