Loading Canon .CR2 files in .NET(在 .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 文件
基础教程推荐
- 当值可以是对象或空数组时反序列化 JSON 2022-01-01
- 如何使用 .Net 检查 Active Directory 服务器是否已启动并正在运行? 2022-01-01
- 我应该在后面的代码中直接使用 Linq To SQL 还是使 2022-01-01
- 禁止输入少量字符,例如'<'、'&a 2022-01-01
- 如果有人提交恶意软件Nuget包怎么办? 2022-01-01
- .NET SerialPort DataReceived 事件未触发 2022-01-01
- Moq It.Is<>不匹配 2022-01-01
- WPF 模态进度窗口 2022-01-01
- Azure Functions:CosmosDBTrigger 未在 Visual Studio 中触发 2022-01-01
- C# 从 List<List<int>> 中删除重 2022-01-01
