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 :

Imprimer une image


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 105
    Points : 61
    Points
    61
    Par défaut Imprimer une image
    bonjour,

    dans mon prog j'ai un bouton pour imprimer une listview ,la pas de problème.
    j'ai rajouter un contrôle "image" avec le logo de ma société ,mais quand j'imprime j'ai le tag du contrôle "image" mais pas le logo.
    Quel est le code pour imprimer le logo qui se trouve dans le control "image" ?

    merci
    cordialement

  2. #2
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 805
    Points
    5 805
    Par défaut
    Bonjour

    On peut utiliser la méthode PaintPicture par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim pr As New Printer
    pr.PaintPicture(MyResources.Image1, 500, 500, 1000, 1000)
    pr.EndDoc()
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 105
    Points : 61
    Points
    61
    Par défaut
    re,
    merci pour ta réponses mais ça ne fonctionne pas ,j'ai mis mon 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
    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    Private Sub imprimer_Click()
    
    On Error GoTo Err_Imprim
    
    P = 0
    If ((ListC.ListItems.Count * 2) / 59) = ((ListC.ListItems.Count * 2) \ 59) Then
        Page = ((ListC.ListItems.Count * 2) \ 59)
    Else
        Page = ((ListC.ListItems.Count * 2) \ 59) + 1
    End If
    Printer.ScaleMode = 6
    Printer.Font = "verdana"
    If ListC.ListItems.Count >= 1 Then ' grille.Rows <> 1 Then
        MousePointer = 11
        Printer.FontBold = True
        Printer.PaperSize = vbPRPSA4
        Printer.PrintQuality = vbPRPQHigh
        Printer.Orientation = vbPRORLandscape 'vbPRORPortrait
        Printer.CurrentX = 0
        Printer.CurrentY = 5
        Printer.FontSize = 8
        Printer.FontUnderline = False
        Printer.PaintPicture (MyResources.Image1, 500, 500, 1000, 1000)              
        Printer.CurrentX = 122
        Printer.CurrentY = 10
        Printer.FontSize = 14
        Printer.FontUnderline = True
        Printer.Print "Chantier : " & cbb_chantier.Text
        Printer.FontSize = 14
        Printer.CurrentX = 230
        Printer.CurrentY = 10
        Printer.FontUnderline = True
        Printer.Print "Total : " & txtporcent.Text & " "
        Printer.FontUnderline = False
        Printer.FontSize = 10
        
        Printer.CurrentX = 0
        Printer.CurrentY = 25
        Printer.Print "Date :"
        Printer.CurrentX = 61
        Printer.CurrentY = 25
        Printer.Print "% :"
        Printer.CurrentX = 122
        Printer.CurrentY = 25
        Printer.Print "Nom Facture :"
        Printer.CurrentX = 183
        Printer.CurrentY = 25
        Printer.Print "Valeur :"
        Printer.CurrentX = 244
        Printer.CurrentY = 25
        Printer.Print "Facture :"
        
       
        Printer.FontUnderline = False
        Printer.FontBold = False
        Printer.FontSize = 10
        k = 1
        For i = 1 To ListC.ListItems.Count
            Printer.FontBold = False
            ListC.ListItems.Item(i).Selected = True
           ' If (k / 2) <> (k \ 2) Then Printer.Line (0, (15 + k * 6) - 1)-(285, (15 + (k + 1) * 6) - 1), RGB(200, 200, 200), BF 'Si Ligne Impaire
            Printer.CurrentX = 0
            Printer.CurrentY = 30 + k * 6
            Printer.Print ListC.SelectedItem.SubItems(1)
            Printer.CurrentX = 61
            Printer.CurrentY = 30 + k * 6
            Printer.Print ListC.SelectedItem.SubItems(2)
            Printer.CurrentX = 122
            Printer.CurrentY = 30 + k * 6
            Printer.Print ListC.SelectedItem.SubItems(3)
            Printer.CurrentX = 183
            Printer.CurrentY = 30 + k * 6
            Printer.Print ListC.SelectedItem.SubItems(4)
            Printer.CurrentX = 244
            Printer.CurrentY = 30 + k * 6
            Printer.Print ListC.SelectedItem.SubItems(5)
            
            Printer.Print Chr(0)
            Printer.FontSize = 10
            Printer.FontBold = False
            'Printer.FontUnderline = True
            Printer.CurrentX = 260
            Printer.CurrentY = 195
            Printer.Print "Le " & Date & " "
            Printer.CurrentX = 0
            Printer.CurrentY = 195
            Printer.Print P + 1 & " / " & Page
            k = k + 1
            If k = 30 Then
                P = P + 1
                Printer.EndDoc
                Printer.ScaleMode = 6
                Printer.Font = "verdana"
                Printer.PaperSize = vbPRPSA4
                Printer.PrintQuality = vbPRPQHigh
                Printer.Orientation = vbPRORLandscape
                Printer.FontSize = 10
                Printer.FontUnderline = True
                Printer.FontBold = True
                
                
        Printer.CurrentX = 0
        Printer.CurrentY = 25
        Printer.Print "Date :"
        Printer.CurrentX = 61
        Printer.CurrentY = 25
        Printer.Print "% :"
        Printer.CurrentX = 122
        Printer.CurrentY = 25
        Printer.Print "Nom Facture :"
        Printer.CurrentX = 183
        Printer.CurrentY = 25
        Printer.Print "Valeur :"
        Printer.CurrentX = 244
        Printer.CurrentY = 25
        Printer.Print "Facture :"
                Printer.FontUnderline = False
                Printer.FontBold = False
                Printer.FontSize = 10
                k = 1
            End If
        Next
        Printer.EndDoc ' Fin de l'impression
        MousePointer = 1
    End If
    
    For i = 1 To ListC.ListItems.Count
        ListC.ListItems.Item(i).Selected = False
    Next
    
    Sortie_Err_Imprim:
        MousePointer = 1
        Exit Sub
    
    Err_Imprim:
        NoErr = err.Number
        Select Case err.Number
            Case 482
                Message = "Aucune Imprimante n'a était Détectée"
            Case Else
                Message = err.Description
        End Select
        MsgBox Message, vbCritical, "Attention"
        
        Resume Sortie_Err_Imprim
    End Sub

  4. #4
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 805
    Points
    5 805
    Par défaut
    Bien sûr que cela ne marche si tu n'as pas donné le nom correct de l'objet ou contrôle qui contient l'image à imprimer.
    Modifie la ligne 23 Printer.PaintPicture (MyResources.Image1, 500, 500, 1000, 1000) de façon à remplacer MyResources par le nom du contrôle contenant l'image et teste le résultat.

    Ce que j'ai proposé n'est qu'un exemple d'utilisation que tu devrais adapter à ton besoin.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  5. #5
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    Salut

    Quand l_autodidacte (salut) te propose la commande Printer.PaintPicture (MyResources.Image1, 500, 500, 1000, 1000), il faut que tu mettes le nom de ta propre image, non pas MyResources.
    Tu choisis l'unité millimètre pour unité de l'imprimante Printer.ScaleMode = 6 et d'imprimer sur une feuille de A4, 21 x 29,7 cm Printer.PaperSize = vbPRPSA4 dans le sens 297mm de haut par 210mm de large .
    Puis tu décides de dessiner ton logo à l'emplacement 500mm des bords haut et droit de la page et dimensions 1000mmx1000mm.
    Regardes à gauche de l'imprimante, le dessin doit y être
    Il te faut donner toutes les mesures/dimensions dans la même unité décidé avec le ScaleMode
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 105
    Points : 61
    Points
    61
    Par défaut
    j'ai mis se code , mais l'image ne s'imprime pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Printer.PaintPicture saisie_avancement.Image1, 500, 500, 1000, 1000

  7. #7
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 805
    Points
    5 805
    Par défaut
    j'ai mis se code , mais l'image ne s'imprime pas
    Je suppose que tu n'as pas lu le post de ProgElecT(Bonjour)
    En plus saisie_avancement.Image1 cela doit faire saisie_avancement.Image avec les dimensions et l'emplacement corrects
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 105
    Points : 61
    Points
    61
    Par défaut
    super, merci à vous c nickel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Printer.PaintPicture saisie_avancement.Image1, 0, 0, 18, 18

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Imprimer une image simplement
    Par cyril.ppn dans le forum C++Builder
    Réponses: 3
    Dernier message: 10/08/2007, 22h31
  2. Imprimer une image avec java
    Par adilou1981 dans le forum Langage
    Réponses: 5
    Dernier message: 04/08/2006, 15h23
  3. imprimer une image dans un fichier
    Par SegmentationFault dans le forum Delphi
    Réponses: 7
    Dernier message: 02/08/2006, 16h04
  4. [FLASH] Imprimer une image chargée dynamiquement
    Par penchu dans le forum Flash
    Réponses: 2
    Dernier message: 04/01/2006, 16h59

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