問題描述
我正在嘗試使用 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 文件的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!