begin process at 2008 07 04 08:36:41
1 204 518 membres
60 nouveaux aujourd'hui
14 116 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CRÉE UNE IMAGE À PARTIR D'UN GRAPHICS


Information sur la source

Catégorie :Graphique Source .NET ( DotNet ) Classé sous : crée, image, bitmap, graphics Niveau : Débutant Date de création : 28/12/2005 Vu : 15 143

Note :
10 / 10 - par 4 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note


Description

Depuis le temps que je cherchais comment crée une image à partir d'un Graphics !
Ben, j'ai enfin trouvé !!!

Je dépose donc ma solution, j'espère qu'elle vous sera utile.

Source

  • Option Explicit On
  • Option Strict On
  • Imports System.Drawing
  • Imports System.Drawing.Imaging
  • Public Class Class1
  • Public Shared Sub Main()
  • Dim ImageSize As New System.Drawing.Size(200, 200) '// Taille de l'image
  • Dim Image As System.Drawing.Image = New System.Drawing.Bitmap(ImageSize.Width, ImageSize.Height) '// Crée l'image
  • Dim Graphics As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(Image) '// Extrait le Graphics de l'image
  • Graphics.Clear(System.Drawing.Color.DeepSkyBlue) '// Remplie la couleur de fond de l'image
  • '// On dessine maintenant ce que l'on veut, ce sera enregistrer dans l'image
  • Graphics.FillEllipse(Brushes.LightCyan, New System.Drawing.Rectangle(20, 10, 140, 100))
  • Graphics.FillRectangle(New System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(180, System.Drawing.Color.DarkOrange)), New System.Drawing.Rectangle(40, 60, 130, 80))
  • Graphics.DrawLine(System.Drawing.Pens.Blue, New System.Drawing.Point(30, 170), New System.Drawing.Point(180, 20))
  • '// On enregistre maintenant l'image dans le répertoire de l'application
  • Dim ImgFormant As System.Drawing.Imaging.ImageFormat = System.Drawing.Imaging.ImageFormat.Bmp
  • Image.Save("C:\\45975_Test.bmp", ImgFormant)
  • End Sub
  • End Class
Option Explicit On
Option Strict On

Imports System.Drawing
Imports System.Drawing.Imaging

Public Class Class1

  Public Shared Sub Main()

    Dim ImageSize As New System.Drawing.Size(200, 200) '// Taille de l'image
    Dim Image As System.Drawing.Image = New System.Drawing.Bitmap(ImageSize.Width, ImageSize.Height) '// Crée l'image
    Dim Graphics As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(Image) '// Extrait le Graphics de l'image

    Graphics.Clear(System.Drawing.Color.DeepSkyBlue) '// Remplie la couleur de fond de l'image

    '// On dessine maintenant ce que l'on veut, ce sera enregistrer dans l'image
    Graphics.FillEllipse(Brushes.LightCyan, New System.Drawing.Rectangle(20, 10, 140, 100))
    Graphics.FillRectangle(New System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(180, System.Drawing.Color.DarkOrange)), New System.Drawing.Rectangle(40, 60, 130, 80))
    Graphics.DrawLine(System.Drawing.Pens.Blue, New System.Drawing.Point(30, 170), New System.Drawing.Point(180, 20))

    '// On enregistre maintenant l'image dans le répertoire de l'application
    Dim ImgFormant As System.Drawing.Imaging.ImageFormat = System.Drawing.Imaging.ImageFormat.Bmp
    Image.Save("C:\\45975_Test.bmp", ImgFormant)

  End Sub

End Class

Conclusion

Pour tester le code, crée un nouveau projet vide.
Ajouter une class et coller le code dans celle-ci.
Ne pas oublier d'ajouter la référence 'System.Drawing'

Une fois exécuté, une image se crée dans 'C:\45975_Test.bmp'.
  • signaler à un administrateur
    Commentaire de TOTOCHITO le 18/01/2006 10:59:27

    c'est bien pratique le moteur graphique du .net offre plein de possibilités
    merci pour la source je ne l'avais pas vu en décembre

  • signaler à un administrateur
    Commentaire de yvesyves le 19/06/2006 17:08:16

    Excellente source.

  • signaler à un administrateur
    Commentaire de OneHacker le 16/06/2007 21:35:00

    Parfait !

  • signaler à un administrateur
    Commentaire de patmorier le 09/07/2007 14:55:08

    Bonjour,

    Merci pour cette source. Juste une petite question: Savez-vous comment créer une image à partir d'un graphics (ici vous créez une image puis un graphics). Je désirerais partir d'un control, duquel j'obtiens le graphics par control.ctreateGraphics, le transformer en image puis le mettre dans le clipboard par My.Computer.Clipboard.SetImage(Image)?

    Merci d'avance

  • signaler à un administrateur
    Commentaire de Charles Racaud le 09/07/2007 16:55:53

    Non désolé, ce n'est apparemment pas possible.
    Il faut obligatoirement extraire le graphique d'une image.
    De toute façon, extraire le graphique de l'image reviendra au même que le CreateGraphics.
    __
    Kenji

  • signaler à un administrateur
    Commentaire de patmorier le 09/07/2007 18:09:19

    Merci,
    J'ai donc utilisé la fonction BitBlt pour construire une bitmap selon la source: http://www.codeproject.com/vb/net/BitBlt.asp
    Cela fonctionne parfaitement.

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS