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.NET Discussion :

Problème d'impression Image [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Décembre 2007
    Messages : 42
    Par défaut Problème d'impression Image
    Bonjour

    j'ai un problème d'impression d'image chargé dans ma picturebox.

    quand j'utilise une image charger dans mon programme elle s'imprime correctement mais quand j'utilise la même image mais charger depuis mon lecteur "c:\image\" elle s'imprime en Zoom.

    voici 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
     
    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            PrintDocument1.PrinterSettings = PrintDialog1.PrinterSettings
            PrintDocument1.Print()
    End Sub
     
    Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
     
            Dim img As Image = PictureBox1.Image
            img.RotateFlip(RotateFlipType.Rotate270FlipNone)
            PictureBox1.Image = img
     
            Dim siza As System.Drawing.Size
            siza.Height = 2480
            siza.Width = 3508
            e.Graphics.DrawImage(PictureBox1.Image, 0, 0)
    End Sub
    Merci pour votre aide.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Par défaut
    Essaye en faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PictureBox1.SizeMode=PictureBoxSizeMode.StretchImage

  3. #3
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Décembre 2007
    Messages : 42
    Par défaut
    bonsoir

    Merci pour votre réponse, cela ne marche pas. j'ai un message d'erreur :
    impossible de convertir une valeur de type 'boolean' en 'system.drawing.image'.
    je l'ai ajouté dans " PrintDocument1_PrintPage " ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e.Graphics.DrawImage(PictureBox1.SizeMode = PictureBoxSizeMode.Zoom)
    j'ai essayer avec un nouveau code, mais même résultat. : ( mon Image est déjà paramétré en affichage " ZOOM " )

    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
     
    Option Explicit On
     
    ' mettre 5 objets sur form1 = picturebox + button1 + button2 + PrintDocument + PrintPreviewControl
     
    Public Class Form1
        Dim imp As Long = 0
     
        Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            PictureBox1.ImageLocation = "C:\Analyse\image\3.jpeg" 'chemin de l'image charger dans la picture
        End Sub
     
        Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            imp = 0 ' Global affecté à cette seule fonction
            Me.PrintPreviewControl1.Zoom = 0.75
            Me.PrintPreviewControl1.Rows = 1 ' nb pages vues en apercu (calcul...)
            Dim PageSetupDialog As New PageSetupDialog()  ' objet = PageSetupDialog
            PageSetupDialog.Document = PrintDocument1
            PageSetupDialog.PageSettings.Landscape = False ' paysage (portrait = False)
            Me.PrintPreviewControl1.Document = Me.PrintDocument1
        End Sub
     
        Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            imp = 0 ' Global affecté à cette seule fonction
            Dim r As String = MsgBox("Imprimer sur PAPIER", vbQuestion + vbYesNo +
            vbDefaultButton2)
            If r <> vbYes Then Exit Sub
            Dim PageSetupDialog As New PageSetupDialog() ' objet = PageSetupDialog
            PageSetupDialog.Document = PrintDocument1
            PageSetupDialog.PageSettings.Landscape = False  ' paysage (portrait = False)
            Me.PrintDocument1.Print()
        End Sub
     
     
        Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
            e.Graphics.DrawImage(PictureBox1.Image, 0, 0)        
        End Sub
    End Class
    le problème est que pour imprimer une Image déjà dans les ressource du logiciel sais bon , elle s'imprime correctement mais des que c'est une image externe elle s'imprime en ZOOM.

    Merci

  4. #4
    Membre averti
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Par défaut
    il faut que vous le paramétriez avant l'impression

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            Dim img As Image = PictureBox1.Image
            img.RotateFlip(RotateFlipType.Rotate270FlipNone)
            PictureBox1.Image = img
     
            PictureBox1.SizeMode=PictureBoxSizeMode.StretchImage
     
            Dim siza As System.Drawing.Size
            siza.Height = 2480
            siza.Width = 3508
            e.Graphics.DrawImage(PictureBox1.Image, 0, 0)

    Si vous mettez "zoom" c'est normal qu'elle s'affiche en zoom, si vous voulez qu'elle s'affiche entièrement il vous faut mettre stretch

  5. #5
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Décembre 2007
    Messages : 42
    Par défaut
    je suit désoler mais j'obtiens toujours le même résultat .

    original
    Nom : 52.jpeg
Affichages : 377
Taille : 139,3 Ko

    résultat
    Nom : qsd.jpg
Affichages : 340
Taille : 60,8 Ko

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    le picturebox n'est en rien lié à ce qu'on imprime

    un image c'est un nombre de pixels, un affichage tient compte des dpi (par défaut 96 sous windows et 300 pour une imprimante)
    il y a une surcharge de drawimage qui permet de définir le rectangle source et de destination il faut donc définir se rectangle

    c'est ce que fais le picturebox aussi, quand tu lui dis "stretch", dans son event paint il faut un drawimage en disant de prendre toute l'image et de la mettre à la taille du picturebox
    quand tu lui dis zoom il fait un calcul pour savoir quelle dimension agrandir (selon le ratio de départ) puis draw
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. [WD-2010] Problème impression image Word 2010
    Par roudoudounette dans le forum Word
    Réponses: 2
    Dernier message: 20/04/2014, 10h28
  2. [WD-2007] Problème d'impression image+zone de texte
    Par Despey94 dans le forum Word
    Réponses: 3
    Dernier message: 17/04/2013, 13h04
  3. Réponses: 6
    Dernier message: 15/10/2009, 01h07
  4. [WD-2003] [dessin] problème d'impression si il y a une image.
    Par algasys dans le forum Word
    Réponses: 3
    Dernier message: 01/08/2009, 22h46
  5. Problème impression images outlook 2003
    Par bml dans le forum Outlook
    Réponses: 14
    Dernier message: 06/06/2008, 16h48

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