Connect with Expertise | Find Experts, Get Answers, Share Insights

WIA.ImageFile to System.Drawing.Image

Jeremy
 
Posts: n/a
#1: Jan 4 '06
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.VideoD eviceType, 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)


Ken Tucker [MVP]
 
Posts: n/a
#2: Jan 5 '06

re: WIA.ImageFile to System.Drawing.Image


Hi,

Maybe this will help

http://msdn.microsoft.com/coding4fun...e/default.aspx

Ken
--------------
"Jeremy" <slayer3600@hotmail.com> wrote in message
news:1136421784.435200.21180@g44g2000cwa.googlegro ups.com...[color=blue]
>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.VideoD eviceType, 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)
>[/color]


Jeremy
 
Posts: n/a
#3: Jan 5 '06

re: WIA.ImageFile to System.Drawing.Image


Thanks for your reply Ken. Actually this is one resource I used to
learn WIA. In the example however, he simply saves the file. I want to
convert it to a System.Drawing.Image first so I can alter the image
(add a time stamp). You can not programatically alter a wia.imagefile.
I was hoping someone could assist me in coverting a wia.imagefile to a
drawing.image without saving and reloading the file. Dim bmap as Image
= ctype(MyWiaImage,Image) causes an invalid cast exception.

Closed Thread