Utilizando el Escáner
volver a la página de tutoriales

Requerimientos

Si desea realizar este tutorial necesitará descargar e instalar los siguientes archivos:

El escáner se esta convirtiendo cada día mas en un componente esencial de todo equipo de computación. Estos digitalizadores combinados con software de edición de imágenes, hacen que lo imposible parezca posible a través de la manipulación de píxeles.

Hasta la aparición de Windows 95 OSR2, no era posible utilizar el escáner en Visual Basic sin tener que comprar alguna librería comercial. esta versión mejorada de Windows 95 trae consigo un conjunto de controles que permiten la manipulación de imágenes en tiempo real. Lo mejor de estos controles es que (por lo visto) están incluidos en las nuevas versiones de Windows, como es el caso del Windows 98. Este tutorial se puede realizar en Windows 95 OSR2 con el control Wang Image Scan e Wang Image Edit, pero la sintaxis cambia un poco, asi que algunas propiedades que soporta el control de Windows 98 no son reconocidas por la versión de Windows 95.

Para este tutorial necesitará Windows 98 con el accesorio Imaging instalado. Si ya tiene instalado Windows 98 abra el Panel de Control y luego ejecute Agregar/Quitar programas. Haga clic en la solapa (tab) Instalación de Windows y seleccione Accesorios. Haga clic en el botón Detalles (Alt-D) y active la casilla de Imaging. Haga clic en Aceptar en todas las ventanas que le hayan aparecido. Reinicie el sistema.

Este ejemplo fué creado utilizando Visual Basic 6, pero debería funcionar bien en VB5 y VB4 (32-bit).

Ejecute Visual Basic y cree un nuevo proyecto EXE estándar. Seleccione los siguientes controles del menu Proyecto - Componentes (Ctrl-T): Kodak Image Edit Controls, Kodak Image Scan Control. También agregue Microsoft Common Dialog Control.

Desde la barra de herramientas agregue un control ImgScan y un control ImgEdit a su formulario. Agregue dos botones de comando y configure las propiedades de los objetos mediante la tabla que se presenta a continuación:

Form1
Objeto
Valor
BorderStyle 1
Caption Interface de Escáner
Height 4590
Width 6330
StartupPosition 2 - CenterScreen

Nota: La propiedad StartupPosition no existe en Visual Basic 4. Escriba el código para centrar el formulario en Form_Resize

ImgScan1
Objeto
Valor
FileType 3 - BMP_Bitmap
ScanTo 0 - Display Only

 

ImgEdit1
Objeto
Valor
ImageControl ImgScan1
ImgPalette 3 - RGB24bit
Height 3975
Left 120
Top 120
Width 4575


Command1
Objeto
Valor
Caption Escanear
Height 375
Left 4800
Top 120
Width 1335

La posición de los objetos CommonDialog y ImgScan en el formulario no es importante debido a que estos controles no se verán en tiempo de ejecución.

En la sección General_Declarations escriba:

Const cdlOFNLongNames = &H200000
Const cdlOFNHideReadOnly = &H4

Estas constantes se usarán para determinar la apariencia del control CommonDialog

Ahora haga doble click en Command1. En la sección Command1_Click escriba:

    Dim Directorio As String

    If Not ImgScan1.ScannerAvailable Then
        MsgBox "No hay escáner disponible", vbCritical, "Interface de Escáner"
        Exit Sub
    End If
    ImgScan1.FileType = BMP_Bitmap
    'No coloque la linea que sigue si está utilizando Windows 95 OSR2
    ImgScan1.SetPageTypeCompressionOpts CustomSettings, TrueColor24bitRGB, Uncompressed, NoCompInfo
    ImgEdit1.ImagePalette = wiPaletteRGB24
    CommonDialog1.FileName = ""
    CommonDialog1.Filter = "Mapa de bits (*.bmp)|*.bmp|Todos los archivos (*.*)|*.*"
    CommonDialog1.Flags = cdlOFNLongNames + cdlOFNHideReadOnly
    CommonDialog1.Action = 2
    If CommonDialog1.FileName = "" Then Exit Sub  'El usuario canceló
    ImgScan1.Image = CommonDialog1.FileName
    ImgScan1.ScanTo = DisplayAndFile
    ImgScan1.StartScan
    

En este código se declara la variable, luego se ejecuta un If para ver si existe algún escáner en el sistema. A continuación se establecen las propiedades del control ImgScan y del control CommonDialog. Cuando ejecute el programa se dará cuenta que el programa antes de escanear le pregunta donde quiere guardar la imagen, por tanto si despues necesita la imagen, la puede abrir desde la ruta que especificó. Si quiere utilizar la imagen escaneada en un proyecto, cargue un control Image Edit y utilice las siguientes instrucciones:

 
        ImgEdit1.ImagePalette = wiPaletteRGB24 
        ImgEdit1.Image = "c:\NombredelArchivo.bmp"
        ImgEdit1.Display 
        
      

Ahora ejecute el programa presionando F5

Puede descargar el código fuente para este tutorial.

Volver a la página de tutoriales.


Copyright 1998-2000 Andrés Castillo.
1