begin process at 2012 05 27 18:24:47
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > SAUVEGARDE D'UN GRAPHIQUE FAIT EN GDI+

SAUVEGARDE D'UN GRAPHIQUE FAIT EN GDI+


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Source .NET ( DotNet ) Niveau :Débutant Date de création :27/02/2005 Vu :8 095

Auteur : ludovicanceaux

Ecrire un message privé
Site perso
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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

  • 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)
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)



 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) GESTION DE VIDÉOTHÈQUE V1.0FR (GESTION DE FILM + PHOTO, ASPI...
Source avec Zip Source avec une capture Source .NET (Dotnet) HORAIRE DE TRAVAIL V1.1FR
Source .NET (Dotnet) SAUVEGARDER QUELQUE CHOSE AVEC PLUSIEURS EXTENSION EN UNE FO...
Source avec Zip Source .NET (Dotnet) EXPORT TEXTBOX VERS WORD GRACE À DES SIGNET
Source avec Zip Source avec une capture Source .NET (Dotnet) RECETTE DE CUISINE

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) IMAGE ANIMÉE DANS UNE COLONNE DE DATAGRIDVIEW par foliv57
Source avec Zip Source avec une capture Source .NET (Dotnet) TRIEUR DE PHOTOS par Le Pivert
Source avec Zip Source .NET (Dotnet) ENREGISTREMENT ET DIAGRAMME par jpot31
REDIMENSIONNEMENT D'IMAGE PHP par JStevens
Source avec Zip Source avec une capture Source .NET (Dotnet) POIDS D'UNE IMAGE BMP DE PROFONDEUR 24 BITS par dheroux

Commentaires et avis

Commentaire de ludovicanceaux le 27/02/2005 17:27:14

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

Commentaire de liquide le 28/02/2005 10:25:37

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/

Commentaire de ludovicanceaux le 28/02/2005 12:17:38

OUhaip mai c tout ce ke j'ai trouvé lolllllllllllllllll

Commentaire de TeBeCo le 05/03/2005 16:48:09

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é

+++

Commentaire de ludovicanceaux le 05/03/2005 17:05:06

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!!!!!!!!!!!!

Commentaire de ludovicanceaux le 05/03/2005 17:08:30

et moi même j'ai microapplication vb.net collection réference(quand même 1200 pages) et il n'y a pô une ligne sur le gdi+ maintenant je ne vai pô me ruiner lolll en boukin tout ca pour éviter de me servir d'api lolllllllll!!!!!!!!

Commentaire de TeBeCo le 05/03/2005 18:25:23

ui t'a raison
pourant dans microapp yavais une source d'un Paint ultrasimple
idem dans MSDN c bourré d'exemple GDI+

au cas ou tu l'ai pas acheté
www.MSDN.com
ya une belle case recherche
et des option => library pour la doc
Sample & &download pour les exmeple enfin ca site c toutes la doc en ligne alors la pas la peie de dire que c pas sur le site

mais je sais que c pas une partie de plaisir ++

Commentaire de ludovicanceaux le 05/03/2005 18:38:50

lolllllllll c clair c pô une partie de plaisir car en + c en anglais snif snif!!!!!!! mai bon je vai regarder merci

Commentaire de liquide le 05/03/2005 18:40:43

alors voici un exemple a l'etat brut du gdi pour les images.

cet exemple etait pour des smileys, d'ou la boucle pour repeindre cetaine parties. il prend aussi tout une serie de smileys issu d'un seul fichier bmp, d'ou la capture de certaines coordonnées precises. Il verifie aussi l'existence du fichier sur le disque dur

****************
If System.IO.File.Exists(PathE & RPChar & ".gif") = False Then
                                        Dim thisExe As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()
                                        Dim file As System.IO.Stream = thisExe.GetManifestResourceStream("Client_Smail.R_All.bmp")
                                        Dim NewImage1 As Image = Image.FromStream(file)

                                        Dim destRect As New Rectangle(0, 0, 25, 22)
                                        Dim srcRect As New Rectangle(PosX, PosY, 25, 22)
                                        Dim units As GraphicsUnit = GraphicsUnit.Pixel

                                        Dim newBitmap As Bitmap = New Bitmap(25, 22, Imaging.PixelFormat.Format64bppPArgb)
                                        Dim g As Graphics = Graphics.FromImage(newBitmap)
                                        g.DrawImage(NewImage1, destRect, srcRect, units)
                                        'newBitmap.MakeTransparent(Color.FromArgb(255, 0, 0, 255))

                                        Dim v As Integer
                                        Dim b As Integer

                                        For v = 0 To newBitmap.Width - 1
                                            For b = 0 To newBitmap.Height - 1
                                                Dim Pixel As Drawing.Color = newBitmap.GetPixel(v, b)
                                                If Pixel.R = 0 And Pixel.G = 0 And Pixel.B = 255 Then
                                                    newBitmap.SetPixel(v, b, Color.FromArgb(128, 255, 255, 255))
                                                ElseIf Pixel.R = 166 And Pixel.G = 202 And Pixel.B = 240 Then
                                                    newBitmap.SetPixel(v, b, Color.FromArgb(255, 255, 255, 0))
                                                End If
                                            Next
                                        Next
                                        newBitmap.Save(PathE & RPChar & ".gif", ImageFormat.Gif)
                                    End If
********************


Nb : je cherche a faire la transparence en sauvegarde, mais la je bloque royalement, si qq'un a une solution, car pour le gif c'est foutu je crois, il doit y avoir une programmation specifique

j'espere que ca pourra servir

Commentaire de OneHacker le 01/07/2006 13:08:48

Ben pour le gif faut que tu mette une couleur de transparence à ta form qui correspond à la couleur de fond de ton gif non transparent.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales