首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在C#中加载DLL 'EDSDK.dll‘Canon SDK错误

无法在C#中加载DLL 'EDSDK.dll‘Canon SDK错误
EN

Stack Overflow用户
提问于 2015-08-04 21:02:20
回答 1查看 1.5K关注 0票数 0

我正在尝试添加到现有的网站使用佳能SDK和它的调整大小的选项。我已经将EDSDK.cs添加到我的App_Code文件夹中,并将这些dll添加到我的Bin目录中: EdsImage.dll、EDSDK.dll、MLib.dll、Ucs32P.dll、DPPDLL.dll、DPPLibCom.dll和DPPRSC.dll。我的代码只是尝试将图像转换为JPG文件:

代码语言:javascript
复制
uint err;
        err = EDSDK.EdsInitializeSDK();
        IntPtr inStream;
        err = EDSDK.EdsCreateFileStream("img_001.CR2", EDSDK.EdsFileCreateDisposition.OpenExisting, EDSDK.EdsAccess.Read, out inStream);
        IntPtr imgRef;
        err = EDSDK.EdsCreateImageRef(inStream, out imgRef);
        err = EDSDK.EdsSetPropertyData(imgRef, EDSDK.PropID_WhiteBalance, 0, 4, EDSDK.WhiteBalance_Cloudy);
        IntPtr outStream;
        err = EDSDK.EdsCreateFileStream("img_001.jpg", EDSDK.EdsFileCreateDisposition.CreateAlways, EDSDK.EdsAccess.Write, out outStream);
        EDSDK.EdsImageInfo info;
        err = EDSDK.EdsGetImageInfo(imgRef, EDSDK.EdsImageSource.FullView, out info);
        EDSDK.EdsSaveImageSetting set = new EDSDK.EdsSaveImageSetting();
        set.JPEGQuality = 9;
        err = EDSDK.EdsSaveImage(imgRef, EDSDK.EdsTargetImageType.Jpeg, set, outStream);
        EDSDK.EdsRelease(imgRef);
        EDSDK.EdsRelease(inStream);
        EDSDK.EdsRelease(outStream);
        EDSDK.EdsTerminateSDK();

任何帮助都将不胜感激。谢谢你!!

EN

回答 1

Stack Overflow用户

发布于 2015-08-27 20:54:46

我已经找到了这个问题的解决方案,我想分享一下,以防有人遇到同样的问题。我从http://www.centrostudiprogressofotografico.it/en/dcraw/下载了一个.exe文件,并在网站上将其作为进程运行,以将.cr2转换为jpg。代码如下:

代码语言:javascript
复制
string dcRawExe = HttpContext.Current.Server.MapPath("PATH TO:/dcraw-9.26-ms-64-bit.exe");
string strCR2File = "PATH TO CR2 FILE";
string strJPGFile = "PATH TO JPG FILE";
var startInfo = new ProcessStartInfo(dcRawExe)
{
    Arguments = "-c -e \"" + strCR2File + "\"",
    RedirectStandardOutput = true,
    UseShellExecute = false
};
var process = System.Diagnostics.Process.Start(startInfo);
var image = System.Drawing.Image.FromStream(process.StandardOutput.BaseStream);
image.Save(strJPGFile, System.Drawing.Imaging.ImageFormat.Jpeg);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31810111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档