[英]Unable to load DLL 'EDSDK.dll' Canon SDK Error in C#
我正在嘗試使用Canon SDK添加到現有網站,並且它是調整大小選項。 我已將EDSDK.cs添加到我的App_Code文件夾中,並將這些dll添加到我的Bin目錄中:EdsImage.dll,EDSDK.dll,MLib.dll,Ucs32P.dll,DPPDLL.dll,DPPLibCom.dll和DPPRSC.dll。 我的代碼只是試圖將圖像轉換為JPG文件:
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();
任何幫助將不勝感激。 謝謝!!
我發現了一個我想分享的解決方案,以防有人遇到同樣的問題。 我在http://www.centrostudiprogressofotografico.it/en/dcraw/上下載了.exe文件,並將其作為網站中的流程運行,以將.cr2轉換為jpg。 這是代碼:
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.