c# - 在 .NET 中加载 Canon .CR2 文件

标签 c# image-processing bitmap

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

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);

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

bmEnc.Save(ms);

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

有人成功过吗?

最佳答案

知道这是一个旧线程,但我发现了一个很好用的易于使用的库 (Magick.NET)。

如何进行转换:

using (MagickImage image = new MagickImage("StillLife.CR2"))
{
    image.Write("StillLife.jpg");
}

https://github.com/dlemstra/Magick.NET/blob/master/docs/ReadRawImageFromCamera.md

nuget包安装详情:

Install-Package Magick.NET-Q16-AnyCPU

https://github.com/dlemstra/Magick.NET

关于c# - 在 .NET 中加载 Canon .CR2 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4111939/

相关文章:

c# - .NET DataGridView 控件为我占用了大量内存

python - 如何用我选择的颜色填充黑色边框包围的位图的一部分?

vba - Solidworks VBA 中的某些循环挤压不起作用

java - 准备位图 byte[] 数据以传递给 jni

c# - C# 中的服务器托管错误

c# - 无法启用Unity C#调试Hololens

c# - 使用 Unity 容器注册递归结构

c++ - 在opencv中连接 vector Rect

android - Google Play 扭曲和钝化屏幕截图

algorithm - 最适合 2D Blob 上的矩形