IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

utilisation d'un scanner


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Avatar de nabil
    Inscrit en
    Avril 2002
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 223
    Par défaut utilisation d'un scanner
    salut tous le monde,
    je voudrai faire un code qui sert à scanner un doc sans avoir recours à utiliser l'interface du scanner.
    j'en ia essayer avec le controle d numérisation de KodaK et la dll TWAIND32.dll mais ca utilise toujours l'interface du scanner.
    merci.

  2. #2
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Tu as essayé de joindre le fabriquant, pour savoir comment on pouvait commander le scanner en lignes de commande?

  3. #3
    Membre confirmé
    Avatar de nabil
    Inscrit en
    Avril 2002
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 223
    Par défaut
    j'ai pas bien saisi ta question peux tu me reexpliquer d'avantage

  4. #4
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Quand tu dis "ça utilises toujours l'interface du scanner", ça signfie que ça ouvre les fenêtres dans lesquelles il te demande de dimensionner la zone à scanner, de choisir "couleurs" ou "noir et blanc", puis de valider, en donnant l'endroit où tu veux enregistrer le fichier, sous quel format... etc..?
    Et bien il-y-a sûrement moyen de lancer une ligne de commande, de type fichier .bat, dans laquelle tu passes toutes tes préférences en paramètres.
    Alors je ne connais pas la marque de ton scanner, mais tu peux peut-être contacter le fabriquant, qui te donnera ces infos.

  5. #5
    Membre confirmé
    Avatar de nabil
    Inscrit en
    Avril 2002
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 223
    Par défaut
    j'ai pas contacter aucun constructeur car je veux que le code soit standard
    j'ai fait un code qui sert à capter une image à partir d'une webcam et indépendant du fabriquant je pense qu'il aura un code qui marche avec les scanners

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par nabil
    j'ai pas contacter aucun constructeur car je veux que le code soit standard
    j'ai fait un code qui sert à capter une image à partir d'une webcam et indépendant du fabriquant je pense qu'il aura un code qui marche avec les scanners
    ton code pour la webcam il n'utilise pas l'interface Twain ... commune au WebCam et scanner ?

  7. #7
    Membre confirmé
    Avatar de nabil
    Inscrit en
    Avril 2002
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 223
    Par défaut
    bon voici un bout de code qui sert à scanner en utilisant la dll TWAIN.
    mais le problème persiste car il utilise l'interface du scanner.

    dans une form on insére deux bouton ,deux picturebox, deux scrollbar
    voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    'The TWAIN32d.dll should be in the System directory
    Private Declare Function TWAIN_AcquireToFilename Lib "TWAIN32d.DLL" (ByVal hwndApp As Long, ByVal bmpFileName As String) As Integer
    Private Declare Function TWAIN_IsAvailable Lib "TWAIN32d.DLL" () As Long
    Private Declare Function TWAIN_SelectImageSource Lib "TWAIN32d.DLL" (ByVal hwndApp As Long) As Long
    Dim ScrollAreaScan As CScrollArea
     
    Private Sub cmdScan_Click()
    Dim Ret As Long, PictureFile As String
    PictureFile = App.Path & "\temp.bmp"
    'PicturFile is the temporary file "temp.bmp"
    'In "temp.bmp" the image will stored until the end of the action
    Ret = TWAIN_AcquireToFilename(Me.hwnd, PictureFile)
    If Ret = 0 Then
    'If the scan is successful
    picScan.Picture = LoadPicture(PictureFile)
    'Load the temporary picture file
    ScrollAreaScan.ReSizeArea
    'Resize the picture control
    Kill PictureFile
    'Delete the temporary picture file
    Else
    MsgBox "Scan not successful!", vbCritical, "Scanning"
    End If
    End Sub
     
    Private Sub cmdSelect_Click()
    TWAIN_SelectImageSource (Me.hwnd)
    End Sub
     
    Private Sub Form_Load()
    Set ScrollAreaScan = New CScrollArea
    Set ScrollAreaScan.VBar = VScroll
    Set ScrollAreaScan.HBar = HScroll
    Set ScrollAreaScan.InnerPicture = picScan
    Set ScrollAreaScan.FramePicture = Picture1
    End Sub
    puis dans un module de classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    Option Explicit
     
    Public WithEvents VBar As VScrollBar
    Public WithEvents HBar As HScrollBar
    Public WithEvents InnerPicture As PictureBox
    Public WithEvents FramePicture As PictureBox
     
    Const DFC_SCROLL = 3                    ' Scroll bar
     
    Private Type RECT
        Left As Long
        top As Long
        Right As Long
        Bottom As Long
    End Type
     
    Private Type POINTAPI
        x As Long
        y As Long
    End Type
     
    Private Declare Function DrawFrameControl Lib "user32" (ByVal hdc As Long, lpRect As RECT, ByVal un1 As Long, ByVal un2 As Long) As Long
    Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
    Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
    Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
     
    Private Sub SetScrollBar()
        ' See if we need the vertical scroll bar.
        If InnerPicture.Height <= FramePicture.ScaleHeight Then
            VBar.Enabled = False
        Else
            ' Set scroll bar properties.
            InnerPicture.top = 0
            VBar.Min = 0
            VBar.Max = FramePicture.ScaleHeight - InnerPicture.Height
            VBar.LargeChange = FramePicture.ScaleHeight
            VBar.SmallChange = FramePicture.ScaleHeight / 5
            VBar.Enabled = True
        End If
     
        ' See if we need the vertical scroll bar.
        If InnerPicture.Width <= FramePicture.ScaleWidth Then
            HBar.Enabled = False
        Else
            ' Set scroll bar properties.
            InnerPicture.Left = 0
            HBar.Min = 0
            HBar.Max = FramePicture.ScaleWidth - InnerPicture.Width
            HBar.LargeChange = FramePicture.ScaleWidth
            HBar.SmallChange = FramePicture.ScaleWidth / 5
            HBar.Enabled = True
        End If
    End Sub
    Private Sub VBar_Change()
        InnerPicture.top = VBar.Value
    End Sub
    Private Sub VBar_Scroll()
        InnerPicture.top = VBar.Value
    End Sub
    Private Sub HBar_Change()
        InnerPicture.Left = HBar.Value
    End Sub
    Private Sub HBar_Scroll()
        InnerPicture.Left = HBar.Value
    End Sub
    Sub ReSizeArea()
        VBar.TabStop = False: HBar.TabStop = False
        InnerPicture.Left = ((FramePicture.Width) - InnerPicture.Width) / 2
        InnerPicture.top = (FramePicture.Height - InnerPicture.Height) / 2
        SetScrollBar
    End Sub

Discussions similaires

  1. [WD17] utiliser le composant Scanner
    Par new_dreams dans le forum WinDev
    Réponses: 4
    Dernier message: 20/02/2013, 16h46
  2. Réponses: 0
    Dernier message: 07/12/2010, 13h26
  3. Utilisation de la classe Scanner sous Eclipse
    Par cadabricadabra dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 04/10/2006, 15h48
  4. Comment faire pour utiliser un scanner ?
    Par magic8392 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 24/09/2006, 12h39
  5. Utilisation du scanner
    Par BXDSPORT dans le forum Delphi
    Réponses: 1
    Dernier message: 27/08/2006, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo