jossef / edsdk-wrapper

EOS Digital SDK C# Wrapper
Apache License 2.0
41 stars 16 forks source link

Documentation of this edsdk wrapper #1

Open ThorPets opened 9 years ago

ThorPets commented 9 years ago

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

tlhintoq commented 9 years ago

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

jossef commented 9 years ago

:+1: Thanks! i will add documentation

Ghini76 commented 8 years ago

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

manit77 commented 7 years ago

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();
    }
}`
Ghini76 commented 7 years ago

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 ...

manit77 commented 7 years ago

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