0

我尝试了不同的示例,也做了谷歌,但找不到任何有效的 c# 解决方案.. 还找到了一些不同语言的代码,但我无法将它们转换为 c# 请帮助...

我试过这个:- 将 .arw 索尼照片转换为 .raw 文件

还找到了 dcraw 源代码,但找不到与 ARW 相关的任何内容...

Image.FromFile 和 Image.FromStream 方法也给出了“参数无效”。

刚才我试了一下,得到“图像无法解码。图像标题可能已损坏。”

BitmapDecoder bmpDec = BitmapDecoder.Create(new Uri(file), 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);

请帮我将 arw 原始文件转换为 jpeg。我想用或不用编解码器来做。我不知道如何使用索尼的代码,所以请帮助我。我只是想让这个程序工作

4

2 回答 2

0

“图像无法解码。图像标题可能已损坏。”

如果 C# 应用程序平台是“任何 CPU”或“x86”,我会得到同样的结果。将平台设置为“x64”为我修复了它。在 COM 上使用本机 C++ 和 WIC 的编解码器时,我也得到了相同的行为。即,如果从 32 位应用程序调用它不会工作,但它会为 64 位应用程序调用。

很抱歉在旧线程上发帖,但没有太多关于此主题的信息。

于 2017-03-22T21:53:00.220 回答
0

我已经找到了怎么做。只需安装可在此处下载的索尼编解码器https://esupport.sony.com/swu/4025/US/

然后 BitmapDecoder 将正常工作。

于 2016-05-24T20:50:48.863 回答