Affichage image dans PictureBox [Résolu]

Signaler
Messages postés
120
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
21 novembre 2013
-
Messages postés
120
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
21 novembre 2013
-
Bonjour à tous !
J'ai posé une question qui est resté sans suite sans doute que je l'ai mal formulée.
Je reformule donc ma pensée. Je voudrais copier plusieurs fois une image dans un pictureBox.J'ai un compteur si le nombre est x je voudrais que l'image soit affiché x fois dans le picturebox.

Merci pour votre aide

8 réponses

Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
8
Salut,

Il n'est pas possible de copier plusieurs fois une image dans un PictureBox. Un PictureBox ne peut afficher seulement qu'une image à la fois.

++

Fauve

<hr size="2" width="100%" />
Pensez : Réponse Acceptée 
Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
8
Ah si c'est pour mettre une image en mosaïque c'est tout à fait possible et de manière très simple :


<hr size="2" width="100%" />


PictureBox1.BackgroundImage = System.Drawing.Image.FromFile("D:\Images\cadnatsectionvz4.png")
PictureBox1.BackgroundImageLayout = ImageLayout.Tile


<hr size="2" width="100%" />


Et voilà, ton image est affiché en Mosaïque

++

Fauve

<hr size="2" width="100%" />
Pensez : Réponse Acceptée 
Messages postés
60
Date d'inscription
samedi 17 juin 2006
Statut
Membre
Dernière intervention
19 octobre 2009

Bonsoir
Voici une fonction qui pourrait t'etre utile
Elle te permettra de creer des mosaiques d'images dans un pictureBox ou un Form
Comme dit precedement il est impossible de copier plusieur fois une image dans un picturebox à moins que tu dessine cette image directement avec la methode paintpicture
Ouvre ton Projet---->nouvelle Form
Ajoute Un pictureBox nomme le "PicContenaire" et met sa propriété AutoRedraw a TRUE (Tres important)
ajoute un controle Image nommé ImgOriginal et attibue une image a cet element
et colle la procédure suivante

Sub FillForm(Feuille As Object)
    'Remplir une feuille avec une mosaique d'images.
    On Error GoTo Annul
    Dim intX As Integer             ' Compteur pour la largeur
    Dim intY As Integer             ' Compteur pour la Hauteur
    Dim sngWidth As Single          'Variable qui contiendra la largeur initiale de ton image
    Dim sngHeight As Single         'Variable qui contiendra la Hauteur initiale de ton image
    Feuille.ScaleMode = vbTwips     ' On precise l'unité de mesure
    sngWidth = Me.ImgOriginal.Width      'On attribue la largeur de l'image a sngWidth
    sngHeight = Me.ImgOriginal.Height    'Idem pour la Hauteur
    'On boucle autant de fois que ton image peut apparaitre dans le conteneur
    For intX = 0 To Int(Feuille.ScaleWidth / sngWidth)
        'Idem pour la Hauteur
        For intY = 0 To Int(Feuille.ScaleHeight / sngHeight)
            'On appelle la methode PaintPicture de l'objet en question qui doit recevoir ton image
            'Attention: Mettre la propriété AutoRedraw a true pour que l'objet se raffraichisse
            'Le control peut etre une Feuille,un PictureBox...
            Feuille.PaintPicture Me.ImgOriginal, intX * sngWidth, intY * sngHeight, sngWidth, sngHeight, 0, 0
            'Feuille.PaintPicture [Source de l'image],[Coordonné X],[Coordoné Y],[Largeur],[Hauteur]
            'Bien noter que la source est de type stdPicture
            'Dans cette exemple la source se trouve dans le controle Image
        Next
    Next
Exit Sub
Annul:
MsgBox Err.Description

End Sub

'=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
'Tu n'as plu qu'a appeler cette procedure pour dupliquer l'image
'

FillForm Me.PicContenaire
Ici bien entendu je rempli le pictureBox Sut toute sa totalité
'si tu as des valeur fixes alor tu les remplace dans les boucles ok




'

'=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

<sup>
[mailto:Sk@yL


Skyla


]
</sup>



<sub>
</sub>
Messages postés
120
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
21 novembre 2013

Merci, mais comment faire alors si on veut que l'image de la picturebox apparaisse plusieurs fois sur la feuille au moment de l'impression du contenu de ce picturebox
Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
8
Comment est ce que tu as l'intention de procéder pour imprimer plusieurs fois la même image sur une feuille ?

<hr size="2" width="100%" />Pensez : Réponse Acceptée 
Messages postés
82
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
6 janvier 2010

Hum...sur vb6 j'utilisai GDI pour faire ce genre de choses, bien sur tu devrai placer "manuellement" ton image en indiquant ses coordonnées a l'intérieur de la picturebox. Mais peut étre vb.net offre t-il un moyen plus simple, je n'en sait rien.
Messages postés
120
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
21 novembre 2013

Eh bien c'est là tout mon problème. Lorsque je fais Print l'image n'apparait qu'une seule fois sur la feuille mais je voudrais fixer le nombre d'image sur la feuille, pour l'instant je n'y arrive pas. J'ai éssayé avec une boucle mais ça m'a fait plusieurs copies avec une seule image chacune !
Et là c'est chaud !!!
Messages postés
120
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
21 novembre 2013

Merci à vous, je crois que je passerai par l'affichage en mosaïque avant l'impression.

Merci encore et à plus !