Visual Basic - scanear imganes

Life is soft - evento anual de software empresarial
 
Vista:

scanear imganes

Publicado por PabloTe (4 intervenciones) el 04/06/2010 05:07:38
Estimados amigos, necesito llamar a un scanner (con bandeja de alimentacion), y guardar las imagenes scaneadas en una carpeta. Alguien podria yudarme con esto porfavor, existe alguna manera facil de llamar al scaner o algun ocx para ello?

Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:scanear imganes

Publicado por PabloTe (4 intervenciones) el 06/06/2010 23:55:29
Estimado Juan carlos, he estado buscando informacion sobre scanner y llegue a una rpta de este mismo foro, en el cual se agrega el componente Kodak Image ctrl, y este code en un boton:

If ImgScan1.ScannerAvailable Then
ImgScan1.OpenScanner
ImgScan1.ScanTo = FileOnly
ImgScan1.Image = "c:\scanimg.jpg"
ImgScan1.FileType = JPG_File
ImgScan1.SetPageTypeCompressionOpts GoodDisplay, TrueColor24bitRGB, JPEGCompression, JPEGHighHigh
ImgScan1.ShowSetupBeforeScan = False
ImgScan1.StartScan
ImgScan1.CloseScanner
Else
'No hay escaner TWAIN
End If

Funciona bien pero, me sobre escribe las imagnes que toma de la bandeja, por ejmplo si scaneo 5 documentos, solo queda uno con el nombre (ImgScan1.Image = "c:\scanimg.jpg"). Mi pregunta es:

Como puedo hacer para que que grabe las distintas img. segun la cantidad que se escane..? es posible esto??

Gracias..........
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:scanear imganes

Publicado por Dulce Tormenta (1 intervención) el 07/06/2010 00:47:16
Yo tb necesito algo muy similar, porfavor PabloTe si tienes la solucion a tu problema hazmelo saber ok???

Estoy desesperada por mi tarea.....

:-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Usa un contador

Publicado por Moderator (3 intervenciones) el 07/06/2010 22:43:15
Hombre, claro que va a quedar solamente la última imagen, porque el nombre que asigna es el mismo SIEMPRE: ImgScan1.Image = "c:\scanimg.jpg"

Lo que podrías hacer es una función que sea el contador de imagenes y luego concatenar este valor en el nombre del archivo:

Dim inImagen as Integer

...
...
inImagen = DameNumeroImagen() ' Tendrás que hacer esta función.
ImgScan1.Image = "c:\scanimg" & inImagen & ".jpg"
...

Desde luego, la función DameNumeroImagen() es para que obtengas el último número usado y luego sumarle UNO, para retornar este valor.
Ya tú te encargas de hacer esa funcion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Usa un contador

Publicado por PabloTe (4 intervenciones) el 08/06/2010 06:04:48
Por supuesto que siempre es el mismo nombre, pero no se me ocurre como asignarle un contador, trate de implemantar tu idea, pero quede corto en la funcion:

...
...
inImagen = DameNumeroImagen() ' Tendrás que hacer esta función.
ImgScan1.Image = "c:\scanimg" & inImagen & ".jpg"
...

Function DameNumeroImagen()
Label1.Caption = Str(ImgScan1.PageCount)
End Function

Si me puedes dar una mano con el contador seria genial.

Saludos y gracias ........
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

La función

Publicado por Moderator (3 intervenciones) el 08/06/2010 16:32:13
La idea es que el contador incremente cada vez que llamas a la función. Para ello debes guardar el último valor usado en alguna parte; un archivo, un registro de una tabla de base de datos, o en el registro de Windows. Aquí te pongo el ejemplo usando esto último.

Function DameNumeroImagen() as Integer
Dim inValor As Integer

' Lee desde el registro de Windows.
inValor = GetSetting(App.EXEName, "Datos", "Contador", 0)
inValor = inValor + 1 ' Le sumamos uno.
' Y guarda el valor incrementado
SaveSetting App.EXEName, "Datos", "Contador", inValor
DameNumeroImagen = inValor ' Retornamos el número que obtuvo.
End Function

A ver si te sirve.
P. D. Toma en cuenta que una variable o dato del tipo Integer (Entero) te acepta un valor máximo de 32767. Tal vez deberías considerar hacer la función (y las variables que tienen que ver con ella) del tipo Long.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¡Uchale!

Publicado por SuperRanger (1 intervención) el 08/06/2010 16:39:34
no compadre te quedastes más que "corto"
mira lo que pusites

Function DameNumeroImagen()
Label1.Caption = Str(ImgScan1.PageCount)
End Function

viendo esta salvajada yo me pregunto
para que diablos le asignas a tu Label1.Caption el valor del número de paginas??????????
ademas de que en ningun lado RETORNASTES ESE VALOR, Wey
si al menos hubieses hecho esto DameNumeroImagen= ImgScan1.PageCount
pos ya seria una barrabasada menos y hasta puede que te funcionara.
todos los que hemos leido esta nota te aconsejamos que te dediques a estudiar mas, en buena onda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¡Uchale!

Publicado por PabloTe (4 intervenciones) el 08/06/2010 18:25:00
Muchas gracias Moderator implementare tu funcion; y Superranger, pues tienes razon lo que hice fue una barrabada, pero en preguntar no hay engaño no? o si? mas que mal estos foros son para aprender y creo que esta es una forma, de todas maneras debo estudiar mas, de eso estoy muy conciente, gracias de todas formas...

Byeeeeeeeeee
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¡Uchale!

Publicado por Javier (1 intervención) el 12/11/2011 01:34:35
Pablo, estube revisando el codigo que tenias y agrege el codigo del contador pero no logro que las imagenes salgan separadas por favor me ayudas???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar