我正在尝试使用 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
关于c# - 在 .NET 中加载 Canon .CR2 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4111939/