Enregistrer le contenu d'un form en tant que image

offfffa Messages postés 2 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 11 décembre 2005 - 11 déc. 2005 à 18:46
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 11 déc. 2005 à 19:26
salut !


j'ai besoin de savoir comment on enregitre le contenu d'un form en tant que image.


ma form contient un tableau d'images, la méthode savePicture ne me permet de sauvegarder qu'une seule image.
j'utilise les boites de dialogues communes, je veux quand je clique sur enregistrer , j'obtiens uns image(bmp ou gif ...) qui contient tous que je viens d'inserer (les images) dans ma form.

merci d'avance , aidez moi svp j'ai un projet à rendre

3 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
11 déc. 2005 à 19:18
Salut, vois du côté de l'API BitBlt, un exemple :

Une form (frmCopieEcran) contenant une picturebox (picture1).

Et, dans ton bouton "enregistrer" :

Private Sub cbEnregistrer_Click()

'Chargement du form de réception de l'image
Load frmCopieEcran

'Init du form et de la picturebox de réception
frmCopieEcran.Width = Screen.Width
frmCopieEcran.Height = Screen.Height
frmCopieEcran.Picture1.AutoRedraw = True
frmCopieEcran.Picture1.Width = Screen.Width
frmCopieEcran.Picture1.Height = Screen.Height

'Copie de l'écran dans la picturebox de réception
BitBlt frmCopieEcran.Picture1.hDC, 0, 0, Screen.Width / Screen.TwipsPerPixelX, Screen.Height / Screen.TwipsPerPixelY, GetDC(GetDesktopWindow()), 0, 0, SRCCOPY


'Sauvegarde de l'image au format bmp
SavePicture frmCopieEcran.Picture1.Image, App.Path + "\temp.BMP"

Unload frmCopieEcran

End Sub

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
11 déc. 2005 à 19:21
Sinon, tu as le tout bête : me.printform mais ça ne marche pas pour tout. Tu fais ton choix.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
11 déc. 2005 à 19:26
Ca me paraissait évident mais dans le cas où tu utilise l'api bitblt, il faut la déclarer dans un module :

Public Declare Function BitBlt Lib "gdi32.dll" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
Rejoignez-nous