Imprimer un label sur une image

Signaler
Messages postés
57
Date d'inscription
mardi 31 août 2004
Statut
Membre
Dernière intervention
8 octobre 2006
-
Messages postés
57
Date d'inscription
mardi 31 août 2004
Statut
Membre
Dernière intervention
8 octobre 2006
-
Hello je voudrais savoir comment on peu imprimer un label sur une image le label doit être positioné au même endroit que dans la form.

Merci d'avance !

NuttyKizzy

8 réponses

Messages postés
1247
Date d'inscription
mardi 7 mai 2002
Statut
Membre
Dernière intervention
18 février 2019
4
utilise la fonction print

exemple :
Picture1.AutoRedraw = True
Picture1.ScaleMode = vbTwips 'mode de mesure
Picture1.CurrentX = 100 '100 twips a gauche
Picture1.CurrentY = 200 ' 200 twips du haut
Picture1.Print "Le texte"

Ps a toi ensuite de positionner ton label avec ses propriété top et left!!!

++
Messages postés
57
Date d'inscription
mardi 31 août 2004
Statut
Membre
Dernière intervention
8 octobre 2006

STP, tu peux me dire ce que signifie "le texte" ????? je doit postioner le label par rapport à l'image ou par rapport à tout la form ???

NuttyKizzy
Messages postés
57
Date d'inscription
mardi 31 août 2004
Statut
Membre
Dernière intervention
8 octobre 2006

Ha, je viens de comprendre ton code ... Mais la, ce qu'il fait, c'est écrire le texte que je veu sur l'image, mais moi j'ai une image, un label dessus et j'aimerais bien imprimer les deux sur papier ... donc mon image avec un label desus. Mais je retient ton code, il est pas mal ...

NuttyKizzy
Messages postés
1247
Date d'inscription
mardi 7 mai 2002
Statut
Membre
Dernière intervention
18 février 2019
4
Ben pour l'image c pareil sauf que tu utilise paintpicture :

exemple :

exemple:
Picture1.AutoRedraw = True
Picture1.ScaleMode = vbMillimeters 'mode de mesure
'Pour positionner le texte depuis les coordo d'un label
'Picture1.currentx=label1.left
'Picture1.currenty=label1.top
Picture1.CurrentX = 10 '10 mm a gauche
Picture1.CurrentY = 20 ' 20 mm du haut
Picture1.ForeColor = vbWhite
'Pour imprimer le texte du label
'picture1.print label1.caption
Picture1.Print "Le texte"

'Impression
Picture1.Picture = Picture1.Image
Printer.ScaleMode = vbMillimeters
'imprime une image a 5cm de la gauche de la feuille
'a 1 cm du haut de la feuille
'dimention de l'image 10cm par 12
Printer.PaintPicture Picture1.Image, 50, 10, 100, 120
Printer.EndDoc


voila j'espére que c clair???

++
Messages postés
57
Date d'inscription
mardi 31 août 2004
Statut
Membre
Dernière intervention
8 octobre 2006

Bon, atta ... Moi, j'ai aucune base, j'essaye de décortiker les source pour le utiliser, voire leurs constructions et tou ça, ... Mais la, je comprend rien ... c koa la saurce si j'ai un bouton imprimer, une picture1 sur laquelle il y a un label1 (déjas) et que je veu tout imprimer un sur l'autre, les probs que j'ai eu jusqu'a présent c'est qu'il m'imprimais pas les deux ...

NuttyKizzy
Messages postés
1247
Date d'inscription
mardi 7 mai 2002
Statut
Membre
Dernière intervention
18 février 2019
4
Voila un exemple bien commenté, et qui je pense on ne peu plus claire ?????
Tu place un pciture1 sur ta form tu charge une image dedans, un label1 dans ta picture1, et un command1(bouton)

Private Sub Command1_Click()
'IMPRESSION IMAGE
Picture1.ScaleMode = vbMillimeters 'mode de mesure
Printer.ScaleMode = vbMillimeters
'imprime une image depuis sa position dur la form
'et sa taille sur la form
Printer.PaintPicture Picture1.Image, Picture1.ScaleLeft, Picture1.ScaleTop, Picture1.ScaleWidth, Picture1.ScaleHeight

'IMPRESSION TEXTE
'Pour positionner le label depuis ses coordo sur picture1
Printer.CurrentX = Label1.Left 'Positionne le texte axe X sur imprimante
Printer.CurrentY = Label1.Top 'Positionne le texte axe Y sur imprimante
Printer.Print Label1.Caption 'Imprime le contenue de label1 a la position precedente
Printer.EndDoc 'Lance l'impression
End Sub


Voila attention il faut toujours envoyer a l'imprimante le texte avant l'image sur laquelle il va étre imprimer sinon il n'apparaitra pas , mais ca semble logique ???

Dans ce code la picturebox est imprimer a ses dimentionss, a sa position sur la form, le texte imprimer sur l'image a l'endroit ou se trouve le label dans ta picture box.

Ps : si tu veu par exemple imprimer ta picturebox sur toute la feuille A4 alors tu remplace le paintpicture par :
Printer.PaintPicture 0,0,21,29.7
si le label soit etre imprimer au mm endroit que sur la picturebox tu recalcul les Currentx et y...

voila , j'éspére que j'ai été assez claire ???

++
Messages postés
1247
Date d'inscription
mardi 7 mai 2002
Statut
Membre
Dernière intervention
18 février 2019
4
Oops rectif lol

"Voila attention il faut toujours envoyer a l'imprimante le texte avant l'image sur laquelle il va étre imprimer sinon il n'apparaitra pas , mais ca semble logique ???"

c'est plutot l'inverse :

Voila attention il faut toujours envoyer a l'imprimante le texte apres l'image sur laquelle il va étre imprimer sinon il n'apparaitra pas , mais ca semble logique ???"

Dsl pour cette petite erreur lol ++ :)
Messages postés
57
Date d'inscription
mardi 31 août 2004
Statut
Membre
Dernière intervention
8 octobre 2006

ok thanks, je vais tester ça, mais comme j'ai plus d'encre, ça va être long ... Je te dis quoi dès que je sais ...

NuttyKizzy