在 .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 文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:在 .NET 中加载佳能 .CR2 文件

基础教程推荐