在 .NET 中加载佳能 .CR2 文件

Loading Canon .CR2 files in .NET(在 .NET 中加载佳能 .CR2 文件)
本文介绍了在 .NET 中加载佳能 .CR2 文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在尝试使用 C# 处理 Canon RAW .CR2 文件.我的代码如下:

I am trying to process Canon RAW .CR2 files using C#. My code is as follows:

BitmapDecoder bmpDec = BitmapDecoder.Create(new Uri(origFile), BitmapCreateOptions.DelayCreation, BitmapCacheOption.None);
BitmapEncoder bmpEnc = new BmpBitmapEncoder();
bmpEnc.Frames.Add(bmpDec.Frames[0]);
Stream ms = new MemoryStream();
bmpEnc.Save(ms);
Image srcImage = Bitmap.FromStream(ms);

前几行似乎运行顺利,但行

The first few lines seem to run without a hitch, but the line

bmEnc.Save(ms);

只是挂起,没有完成,也没有引发任何异常.

just hangs without completing and without raising any exception.

有人成功了吗?

推荐答案

我不相信 BitmapDecoder 理解 .CR2.到目前为止,它不是传统的图像格式,因为它包含原始拜耳传感器图像(每个像素一种颜色),而不是标准图像.

I don't believe BitmapDecoder understands .CR2. It is not a conventional image format by far, as it contains the raw bayer-sensor image (one color per pixel), not a standard image.

如果你想转换CR2和其他camera raw格式,你应该看看DCRaw:http://www.cybercom.net/~dcoffin/dcraw/ 或 libraw(基于 dcraw,作为库友好):http://www.libraw.org/

If you want to convert CR2 and other camera raw formats, you should look at DCRaw: http://www.cybercom.net/~dcoffin/dcraw/ or libraw (based on dcraw, friendly as a library): http://www.libraw.org/

这篇关于在 .NET 中加载佳能 .CR2 文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

ActiveDirectory error 0x8000500c when traversing properties(遍历属性时 ActiveDirectory 错误 0x8000500c)
search by samaccountname with wildcards(使用通配符按 samaccountname 搜索)
Get the list of Groups for the given UserPrincipal(获取给定 UserPrincipal 的组列表)
Can you find an Active Directory User#39;s Primary Group in C#?(你能在 C# 中找到 Active Directory 用户的主要组吗?)
Query From LDAP for User Groups(从 LDAP 查询用户组)
How can I get DOMAINUSER from an AD DirectoryEntry?(如何从 AD DirectoryEntry 获取 DOMAINUSER?)