edsdk-wrapper icon indicating copy to clipboard operation
edsdk-wrapper copied to clipboard

Documentation of this edsdk wrapper

Open ThorPets opened this issue 10 years ago • 6 comments

I have browsed through the zip file and can not see any documentation of the wrapper classes or any samples of how it is used. is it possible that you set out some samples or documentation for evaluating the wrapper.

ThorPets

ThorPets avatar Feb 25 '15 21:02 ThorPets

Have you tried looking at the sample project? Seems like the best example: A working program.

tlhintoq avatar Mar 06 '15 15:03 tlhintoq

:+1: Thanks! i will add documentation

jossef avatar Mar 07 '15 08:03 jossef

Where can I find the sample project or documentation? Thanks so much

Ghini76 avatar Feb 13 '16 05:02 Ghini76

Here is sample code that I wrote using the library. I added a new delegate named OnFileDownloadedComplete to fire after the file transfer from the camera completes.

`public partial class Form1 : Form { FrameworkManager frameworkManager = new FrameworkManager(); Camera camera = null; public Form1() { this.FormClosed += Form1_FormClosed;

        InitializeComponent();

        camera = this.frameworkManager.Cameras.First();
        camera.OnFileDownloadedComplete += camera_OnFileDownloadedComplete;
    }

    void camera_OnFileDownloadedComplete(string filepath)
    {
        this.Invoke(new Action(() =>
        {
            //Bitmap bitmap;

            using (var fs = new System.IO.FileStream(filepath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
            {
                System.Drawing.Image image = System.Drawing.Image.FromStream(fs);
                pictureBox1.Image = image;
            }

        }));
    }

    private void button1_Click(object sender, EventArgs e)
    {
        camera.StartLiveView();
        Application.Idle += Application_Idle;
    }

    void Application_Idle(object sender, EventArgs e)
    {
        if (!camera.LiveViewEnabled)
        {
            return;
        }

        int exceptionCount = 0;
        try
        {
            var stream = camera.GetLiveViewImage();
            var bmp = Bitmap.FromStream(stream);
            this.Invoke(new Action(() => { this.pictureBox1.Image = bmp; }));
            exceptionCount = 0;
        }
        catch
        {
            System.Threading.Thread.Sleep(100);
            if (++exceptionCount > 10)
            {
                throw;
            }
        }
    }

    void Form1_FormClosed(object sender, FormClosedEventArgs e)
    {
        camera.Dispose();
        frameworkManager.Dispose();
    }

    private void button2_Click(object sender, EventArgs e)
    {
        camera.StopLiveView();
        Application.Idle -= Application_Idle;
    }

    private void ctlTakePhoto_Click(object sender, EventArgs e)
    {
        camera.StopLiveView();
        Application.Idle -= Application_Idle;
        camera.TakePhoto();
    }
}`

manit77 avatar Sep 28 '16 05:09 manit77

Manit77 Hello, thank you for the example. You have this example also in VB.NET? I try this code and will also try to translate it in VB.NET ...

Ghini76 avatar Sep 28 '16 05:09 Ghini76

sorry I haven't programmed in VB.NET in 10 years.

manit77 avatar Sep 29 '16 06:09 manit77