Vb.net 如何使用EDSDKWrapper C库使用佳能相机拍照?
我正在使用Canon SDK和EDSDKWrapper C库编写一个VB.NET应用程序,因为我的编程技能不足以处理C代码或指针、处理程序等。以下是我迄今为止的代码,它使用计时器在图片框中显示LiveView图像:Vb.net 如何使用EDSDKWrapper C库使用佳能相机拍照?,vb.net,camera,wrapper,canon-sdk,Vb.net,Camera,Wrapper,Canon Sdk,我正在使用Canon SDK和EDSDKWrapper C库编写一个VB.NET应用程序,因为我的编程技能不足以处理C代码或指针、处理程序等。以下是我迄今为止的代码,它使用计时器在图片框中显示LiveView图像: Public Class Form1 Dim frameworkManager As New EDSDKWrapper.Framework.Managers.FrameworkManager Dim camera As EDSDKWrapper.Framework.Objects.
Public Class Form1
Dim frameworkManager As New EDSDKWrapper.Framework.Managers.FrameworkManager
Dim camera As EDSDKWrapper.Framework.Objects.Camera
Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
tmrLiveView.Enabled = False
camera.StopLiveView() ' Clean up
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
camera = frameworkManager.GetCameras().FirstOrDefault ' Get our first or default camera that's plugged in
camera.LiveViewOutputDevice = EDSDKWrapper.Framework.Enums.LiveViewOutputDevice.Computer ' LiveView on the computer only, please
camera.StartLiveView() ' Begin the LiveView
tmrLiveView.Enabled = True ' Turn our timer on
End Sub
Private Sub tmrLiveView_Tick(sender As Object, e As EventArgs) Handles tmrLiveView.Tick
Dim str As IO.Stream ' Holds our LiveView image
str = camera.GetLiveViewImage() ' Get the image (which comes back as a stream)
picLiveview.Image = System.Drawing.Image.FromStream(str) ' To the picturebox from the stream
End Sub
Private Sub btnFocus_Click(sender As Object, e As EventArgs) Handles btnFocus.Click
' But what goes here?
End Sub
End Class
但是我怎么拍照呢?据我所知,我需要这样做:
EDSDKWrapper.Framework.Invokes.EDSDKInvokes.SendCommand(inCameraRef, EDSDKWrapper.Framework.Enums.CameraCommand.PressShutterButton,0)
但我不知道如何获得inCameraRef,我相信这是我想要发送命令的相机的手柄。我假设camera类中有一个属性会返回这个,但我不确定
以前有人用过这个包装器吗,或者他们能推荐一个好的佳能SDK包装器吗?时间是宝贵的,我在互联网上搜索了太长时间