Sauver une form sous forme d'image jpg ou bmp

bichonnet Messages postés 17 Date d'inscription mardi 11 octobre 2005 Statut Membre Dernière intervention 18 mai 2006 - 19 nov. 2005 à 15:12
cs_Kounta Messages postés 9 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 21 mars 2008 - 8 déc. 2005 à 11:38
bonjour
peut-on suavegarder el recharger une form sous forme d'image bmp ou jpg quel que soit son contenu ?

6 réponses

cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
19 nov. 2005 à 15:17
?????



Tu veux dire faire une copie d'écran de ta fenêtre ?
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 nov. 2005 à 15:36
Hum recharger une form à partir de sa capture, c'est pas faisable, par
contre pour la sauvegarder, il s'agit de faire une copie d'écran du DC
de ta fenêtre (passage par les fonctions API Obligé !)

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
19 nov. 2005 à 15:46
Bonjour,

Essaye ce code.



Option Explicit

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal
bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)





Private Sub Command1_Click()

Call keybd_event(vbKeySnapshot, 0, 0&, 0&) 'envoie la code de la touche Print Screen (la capture dans le press papier)

SavePicture Clipboard.GetData(8), "c:\Image.bmp"

'enregistre la capture a l'adresse c:\Image.bmp

End Sub



'Pour récupérer l'image.

Private Sub Command2_Click()

Picture1.Picture = LoadPicture("C:\Image.bmp")

End Sub



jpleroisse



Si une réponse vous convient, cliquez Réponse Acceptée.
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
19 nov. 2005 à 15:51
Re bonjour,

Si tu as un message d'erreur, mets 0 au lieu de 8 dans

SavePicture Clipboard.GetData(8)



jpleroisse
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
19 nov. 2005 à 15:56
sinon un autre truc qui te permet de faire une copie d'écran juste de ta form et non de tout l'écran c'est ceci :



'fonction a déclarer dans ta form

Private Declare Auto Function BitBlt Lib "gdi32.dll" ( _

ByVal hdcDest As IntPtr, _

ByVal nXDest As Integer, _

ByVal nYDest As Integer, _

ByVal nWidth As Integer, _

ByVal nHeight As Integer, _

ByVal hdcSrc As IntPtr, _

ByVal nXSrc As Integer, _

ByVal nYSrc As Integer, _

ByVal dwRop As Int32 _

) As Boolean



Private img As Image 'variable de classe



' on redéfinit la méthode paint comme ceci

' ca aura pour effet de sauvegarder dans images le contexte graphique de ta form

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint

Dim g1 As Graphics = Me.CreateGraphics()

img = New Bitmap(Me.ClientRectangle.Width, Me.ClientRectangle.Height, g1)

Dim g2 As Graphics = Graphics.FromImage(img)

Dim dc1 As IntPtr = g1.GetHdc()

Dim dc2 As IntPtr = g2.GetHdc()

BitBlt(dc2, 0, 0,
Me.ClientRectangle.Width, Me.ClientRectangle.Height, dc1, 0, 0,
13369376)

g1.ReleaseHdc(dc1)

g2.ReleaseHdc(dc2)

End Sub



ensuite tu peux il suffit d'insérer cette ligne quand tu veux sauvegarder ton image

img.Save("CopyScreenDeMaForm.bmp")
0
cs_Kounta Messages postés 9 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 21 mars 2008 1
8 déc. 2005 à 11:38
Bonjour, je trouve le code de vpoyo très intéressant, mais je n'arrive pas à l'adapter en VB6. Bien sûr, il faut utiliser GDI et GDI+ et déclarer plusieures fonctions et types, mais même en épluchant MSDN, ça ne marche pas. Qq1 est-il arrivé à enregistrer une image d'un form en VB6 ??

JF
0
Rejoignez-nous