J
Jeremy
I am creating an imaging service using WIA (Windows Imaging
Acquisition).
The problem is that I cannot convert a WIA.ImageFile to a
System.Drawing.Image to put a timestamp on the image without first
saving the file using the wia.imagefile.savefile then loading it again
using System.Drawing.Image.FromFile. This seems pretty ineffecient. I
have tried coverting it using ctype, but I get an invalid cast
exception. Is anyone aware of how to accomplish this without saving and
reloading the file? I appreciate your time...
Thanks,
Jeremy
Dim mydevice As WIA.Device
Dim manager As New WIA.DeviceManagerClass
Dim mydialog As New WIA.CommonDialogClass
Dim strcmdTakePicture As String =
WIA.CommandID.wiaCommandTakePicture
Dim strImageformat As String = WIA.FormatID.wiaFormatJPEG
Dim myItem As WIA.Item
Dim myImage As WIA.ImageFile
Dim strFilePath As String = Application.StartupPath &
"\Images\Dummy.jpg"
For Each info As WIA.DeviceInfo In manager.DeviceInfos
'Connect w/o dialog
If info.DeviceID =
"{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}\0000" Then
mydevice = info.Connect
End If
Next
If IsNothing(mydevice) Then
mydevice =
mydialog.ShowSelectDevice(WIA.WiaDeviceType.VideoDeviceType, False,
True)
End If
myItem = mydevice.ExecuteCommand(strcmdTakePicture)
myImage = CType(myItem.Transfer(strImageformat), WIA.ImageFile)
'Need to covert to image here instead of SaveFile
myImage.SaveFile(strFilePath)
Acquisition).
The problem is that I cannot convert a WIA.ImageFile to a
System.Drawing.Image to put a timestamp on the image without first
saving the file using the wia.imagefile.savefile then loading it again
using System.Drawing.Image.FromFile. This seems pretty ineffecient. I
have tried coverting it using ctype, but I get an invalid cast
exception. Is anyone aware of how to accomplish this without saving and
reloading the file? I appreciate your time...
Thanks,
Jeremy
Dim mydevice As WIA.Device
Dim manager As New WIA.DeviceManagerClass
Dim mydialog As New WIA.CommonDialogClass
Dim strcmdTakePicture As String =
WIA.CommandID.wiaCommandTakePicture
Dim strImageformat As String = WIA.FormatID.wiaFormatJPEG
Dim myItem As WIA.Item
Dim myImage As WIA.ImageFile
Dim strFilePath As String = Application.StartupPath &
"\Images\Dummy.jpg"
For Each info As WIA.DeviceInfo In manager.DeviceInfos
'Connect w/o dialog
If info.DeviceID =
"{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}\0000" Then
mydevice = info.Connect
End If
Next
If IsNothing(mydevice) Then
mydevice =
mydialog.ShowSelectDevice(WIA.WiaDeviceType.VideoDeviceType, False,
True)
End If
myItem = mydevice.ExecuteCommand(strcmdTakePicture)
myImage = CType(myItem.Transfer(strImageformat), WIA.ImageFile)
'Need to covert to image here instead of SaveFile
myImage.SaveFile(strFilePath)