在 .NET 中加载佳能 .CR2 文件
- 作者: 嗨老别
- 来源: 51数据库
- 2022-10-20
问题描述
我正在尝试使用 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/
- C#通过fleck实现wss协议的WebSocket多人Web实时聊天(附源码)
- 团队城市未满足要求:MSBuildTools12.0_x86_Path 存在
- 使用 MSBuild.exe 在发布模式下构建 C# 解决方案
- 当我发布 Web 应用程序时,AfterPublish 脚本不运行
- 构建时 T4 转换的产品仅在下一个构建中使用
- ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json
- 新的 .csproj 格式 - 如何将整个目录指定为“链接文件"到子目录?
- 如何将条件编译符号(DefineConstants)传递给 msbuild
- MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板
- NuGet 包还原找不到包,没有源
