Sauvegarde d'un graphique fait en gdi+

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 406 fois - Téléchargée 38 fois

Contenu du snippet

Bah voilà c en fait un code ki sert à sauvegarder un graphique ds un PictureBox que j'ai fait à l'aide de l'outil Paint en GDI+

Source / Exemple :


Private buffer As Bitmap
Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As IntPtr, ByVal X As Integer, _
ByVal Y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, _
ByVal hSrcDC As IntPtr, ByVal xSrc As Integer, ByVal ySrc As Integer, _
ByVal nSrcWidth As Integer, ByVal nSrcHeight As Integer, ByVal dwRop As Integer) As Integer

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim controlGraphics As Graphics = Me.PictureBox_Graphique.CreateGraphics ' graphique form
Const SRCCOPY As Integer = &HCC0020
Dim controlSize As Size
controlSize = Me.PictureBox_Graphique.ClientSize()
buffer = New Bitmap(controlSize.Width, controlSize.Height)
Dim bufferGraphics As Graphics = controlGraphics.FromImage(buffer)
Dim bufferHdc As IntPtr = bufferGraphics.GetHdc 'hdc de la form
Dim controlHdc As IntPtr = controlGraphics.GetHdc
StretchBlt(bufferHdc, 0, 0, controlSize.Width, controlSize.Height, _
controlHdc, 0, 0, controlSize.Width, controlSize.Height, SRCCOPY)
bufferGraphics.ReleaseHdc(bufferHdc)
controlGraphics.ReleaseHdc(controlHdc)
buffer.Save("C:\Documents and Settings\Ludo\Bureau\eeeezzz.Jpg", System.Drawing.Imaging.ImageFormat.Jpeg)

A voir également

Ajouter un commentaire Commentaires
ludovicanceaux Messages postés 440 Date d'inscription mardi 21 octobre 2003 Statut Membre Dernière intervention 6 mai 2010
27 févr. 2005 à 17:27
Par contre si kelk'un à plus simple je compte sur vous lollllllllll!!!!!!!!!!!! et si kelk'un sai ossi komment efface le graphique car je sai pô komment on fait
merci
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
28 févr. 2005 à 10:25
Salut
controlGraphics.Graphics.Clear(Color.AliceBlue)

--- je ne sais plus si faut mettre graphics ou pas, c'est suivant le eventarg, dans ce cas la , je ne crois pas

De plus je ne pense pas que tu sois obligé d'utiliser l'api strech ..http://fr.gotdotnet.com/quickstart/winforms/
ludovicanceaux Messages postés 440 Date d'inscription mardi 21 octobre 2003 Statut Membre Dernière intervention 6 mai 2010
28 févr. 2005 à 12:17
OUhaip mai c tout ce ke j'ai trouvé lolllllllllllllllll
TeBeCo Messages postés 467 Date d'inscription lundi 24 juin 2002 Statut Membre Dernière intervention 9 mars 2011
5 mars 2005 à 16:48
bizarre que les codeur .net ai besoin d'utiliser les API
c'est des vielle methode de VB6 ca

GDI+ => code entierement managé

System.Drawings
System.Drawings.Graphics

dim toto as graphics = me.CreateGraphics

ensuite manip du graphics et a chque modif, enregistrement du grpah dans la var pour enviter les zone non repainte
et a l'eve,nt paint on reapplique le graph

c tout ca qu'il faut saovoir pratiquement, liser des bouquin .net
et arreter les API en .net c lent a coté du managé

+++
ludovicanceaux Messages postés 440 Date d'inscription mardi 21 octobre 2003 Statut Membre Dernière intervention 6 mai 2010
5 mars 2005 à 17:05
lol dsl mec mais en fait c tout ce ke j'ai trouvé et pourtant j'en lis des boukins, mais c tout ce que j'ai là!!!!!!!!!!!!!!!!!! mais tu sais kan je voulai sauvegardé mon graph fait en gdi il me disai ke l'image du PictureBox ne pouvai pô etre vide tu voi le délire!!!!!!!!!!!!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.