• 大小: 288KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: 其他
  • 标签: 佳能  SDK  

资源简介

这是最新版本的佳能SDK开发事例代码,很详细的注释解说,对于入门者来说很有价值

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Threading;
using EDSDKLib;

namespace ConsoleExample
{
    class Program
    {
        static SDKHandler CameraHandler;
        static bool WaitForEvent;

        static void Main(string[] args)
        {
            try
            {
                CameraHandler = new SDKHandler();
                CameraHandler.SDKobjectEvent += handler_SDKobjectEvent;
                List cameras = CameraHandler.GetCameraList();
                if (cameras.Count > 0)
                {
                    CameraHandler.OpenSession(cameras[0]);
                    Console.WriteLine(“Opened session with camera: “ + cameras[0].Info.szDeviceDescription);
                }
                else
                {
                    Console.WriteLine(“No camera found. Please plug in camera“);
                    CameraHandler.CameraAdded += handler_CameraAdded;
                    CallEvent();                    
                }

                CameraHandler.ImageSaveDirectory = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures) “RemotePhoto“);
                CameraHandler.SetSetting(EDSDK.PropID_SaveTo (uint)EDSDK.EdsSaveTo.Host);

                Console.WriteLine(“Taking photo with current settings...“);
                CameraHandler.TakePhoto();

                CallEvent();
                Console.WriteLine(“Photo taken and saved“);
            }
            catch (Exception ex) { Console.WriteLine(“Error: “ + ex.Message); }
            finally
            {
                CameraHandler.CloseSession();
                CameraHandler.Dispose();
                Console.WriteLine(“Good bye! (press any key to close)“);
                Console.ReadKey();
            }
        }

        static void CallEvent()
        {
            WaitForEvent = true;
            while (WaitForEvent)
            {
                EDSDK.EdsGetEvent();
                Thread.Sleep(200);
            }
        }

        static uint handler_SDKobjectEvent(uint inEvent IntPtr inRef IntPtr inContext)
        {
            if (inEvent == EDSDK.objectEvent_DirItemRequestTransfer || inEvent == EDSDK.objectEvent_DirItemCreated) WaitForEvent = false;
            return EDSDK.EDS_ERR_OK;
        }

        static void handler_CameraAdded()
        {
            List cameras = CameraHandler.GetCameraList();
            if (cameras.Count > 0) CameraHandler.OpenSession(cameras[0]);
            Console.WriteLine(“Opened session with camera: “ + cameras[0].Info.szDeviceDescription);
            WaitForEvent = false;
        }
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-04-24 04:48  CanonSDKTutorialV9\
     文件        2402  2015-04-24 04:11  CanonSDKTutorialV9\CanonSDKTutorial.sln
     目录           0  2015-04-24 04:48  CanonSDKTutorialV9\ConsoleExample\
     目录           0  2015-04-24 04:48  CanonSDKTutorialV9\ConsoleExample\bin\
     目录           0  2015-04-24 04:49  CanonSDKTutorialV9\ConsoleExample\bin\Debug\
     目录           0  2015-04-24 04:48  CanonSDKTutorialV9\ConsoleExample\bin\Release\
     文件        6656  2015-04-24 04:46  CanonSDKTutorialV9\ConsoleExample\bin\Release\ConsoleExample.exe
     文件       13824  2015-04-24 04:46  CanonSDKTutorialV9\ConsoleExample\bin\Release\ConsoleExample.pdb
     文件       58368  2015-04-24 04:46  CanonSDKTutorialV9\ConsoleExample\bin\Release\EDSDKLib.dll
     文件       54784  2015-04-24 04:46  CanonSDKTutorialV9\ConsoleExample\bin\Release\EDSDKLib.pdb
     文件       17342  2015-04-24 04:46  CanonSDKTutorialV9\ConsoleExample\bin\Release\EDSDKLib.xml
     文件        2484  2015-04-24 04:11  CanonSDKTutorialV9\ConsoleExample\ConsoleExample.csproj
     文件        2724  2014-11-12 22:26  CanonSDKTutorialV9\ConsoleExample\Program.cs
     目录           0  2015-04-24 04:48  CanonSDKTutorialV9\ConsoleExample\Properties\
     文件        1440  2014-11-12 20:35  CanonSDKTutorialV9\ConsoleExample\Properties\AssemblyInfo.cs
     目录           0  2015-04-24 04:48  CanonSDKTutorialV9\EDSDKLib\
     目录           0  2015-04-24 04:49  CanonSDKTutorialV9\EDSDKLib\bin\
     目录           0  2015-04-24 04:49  CanonSDKTutorialV9\EDSDKLib\bin\Debug\
     目录           0  2015-04-24 04:48  CanonSDKTutorialV9\EDSDKLib\bin\Release\
     文件       58368  2015-04-24 04:46  CanonSDKTutorialV9\EDSDKLib\bin\Release\EDSDKLib.dll
     文件       54784  2015-04-24 04:46  CanonSDKTutorialV9\EDSDKLib\bin\Release\EDSDKLib.pdb
     文件       17342  2015-04-24 04:46  CanonSDKTutorialV9\EDSDKLib\bin\Release\EDSDKLib.xml
     文件       76220  2015-04-24 04:42  CanonSDKTutorialV9\EDSDKLib\CameraClasses.cs
     文件      123379  2014-11-12 20:50  CanonSDKTutorialV9\EDSDKLib\EDSDK.cs
     文件        2471  2015-04-24 04:11  CanonSDKTutorialV9\EDSDKLib\EDSDKLib.csproj
     目录           0  2015-04-24 04:48  CanonSDKTutorialV9\EDSDKLib\Properties\
     文件         556  2015-04-24 04:44  CanonSDKTutorialV9\EDSDKLib\Properties\AssemblyInfo.cs
     目录           0  2015-04-24 04:48  CanonSDKTutorialV9\WinFormsUI\
     目录           0  2015-04-24 04:48  CanonSDKTutorialV9\WinFormsUI\bin\
     目录           0  2015-04-24 04:49  CanonSDKTutorialV9\WinFormsUI\bin\Debug\
     目录           0  2015-04-24 04:48  CanonSDKTutorialV9\WinFormsUI\bin\Release\
............此处省略41个文件信息

评论

共有 条评论