1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| Sub generationImageVersDisque(ByVal monTexte As String)
' Instanciation d'un objet Bitmap qui va jouer, en quelque sorte, le rôle de conteneur.
' On passe au constructeur les dimensions en pixels que l'on souhaite (largeur, hauteur)
Dim monBitmap As Bitmap = New Bitmap(600, 100)
' Création d'un objet Graphics qui va être notre surface de dessin, on l'associe
' à notre objet Bitmap grâce à la méthode FromImage
Dim monGraphic As Graphics = Graphics.FromImage(monBitmap)
' Instanciation de deux objets Brush qui vont nous permettre, respectivement,
' de "peindre" le fond, puis de "dessiner" le texte par dessus. Nous leur
' passons la couleur que l'on souhaite leur donner
Dim monPinceau As New SolidBrush(Color.White)
Dim monStylo As New SolidBrush(Color.Black)
' Ici nous nous créons un rectangle de la taille de notre surface de dessin avec
' l'objet Brush.
monGraphic.FillRectangle(monPinceau, 0, 0, 600, 100)
' Objet Font qui contient la police et ses caractéristiques
Dim maPolice As New Font("Arial", 8, FontStyle.Regular)
' Structure PointF qui est un ensemble de 2 coordonnées pour le début du texte
' sur la surface de dessin.
Dim mesCoor As New PointF(5.0F, 5.0F)
' Rendu du texte : ici nous sommes en qualité optimale.
' Plus de détails sur le sujet dans la suite de ce tutoriel
monGraphic.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit
' "Ecriture" du texte sur la surface de dessin, en paramètres, on passe,
' dans l'ordre, le texte, la police, le pinceau, et l'emplacement.
monGraphic.DrawString(monTexte, maPolice, monStylo, mesCoor)
' Enregistrement à la racine de l'application le fichier généré
monBitmap.Save(Server.MapPath("monImage.jpg"), System.Drawing.Imaging.ImageFormat.Jpeg)
' Ce code crée un lien sur votre page pour que vous puissiez vérifier le résultat,
' mais il n'est pas nécessaire pour la création de l'image elle-même.
Response.Write("<a target=""C:\"" href=""monImage.jpg"">Votre image</a>")
End Sub |
Partager