Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jérémy Jeanson
Il faut créer un bitmap, utiliser un objet graphics pour dessiner ton image sur ce bitmap, ensuite tu ecris ton text avec ce même objet graphics et pour finir tu enregistre ton bitmap et le tour est joué.
Si tu as besoin d'un exemple, dis le, je pourrai t'en coder un dès que j'aurai un Visual Studio sous la main, mais je crois que la manip que je viens de t'indiquer est en partie présente dans la MSDN (c'est du GDI)
Pour résumé tu as besoin de 3 classes présentes dans System.Drawing ou Drawing2D : Bitmap, Image, Graphics. -- Jérémy JEANSON MCP http://jeremy.blogdns.net
Il faut créer un bitmap, utiliser un objet graphics pour dessiner ton
image sur ce bitmap, ensuite tu ecris ton text avec ce même objet
graphics et pour finir tu enregistre ton bitmap et le tour est joué.
Si tu as besoin d'un exemple, dis le, je pourrai t'en coder un dès que
j'aurai un Visual Studio sous la main, mais je crois que la manip que je
viens de t'indiquer est en partie présente dans la MSDN (c'est du GDI)
Pour résumé tu as besoin de 3 classes présentes dans System.Drawing ou
Drawing2D : Bitmap, Image, Graphics.
--
Jérémy JEANSON
MCP
http://jeremy.blogdns.net
Il faut créer un bitmap, utiliser un objet graphics pour dessiner ton image sur ce bitmap, ensuite tu ecris ton text avec ce même objet graphics et pour finir tu enregistre ton bitmap et le tour est joué.
Si tu as besoin d'un exemple, dis le, je pourrai t'en coder un dès que j'aurai un Visual Studio sous la main, mais je crois que la manip que je viens de t'indiquer est en partie présente dans la MSDN (c'est du GDI)
Pour résumé tu as besoin de 3 classes présentes dans System.Drawing ou Drawing2D : Bitmap, Image, Graphics. -- Jérémy JEANSON MCP http://jeremy.blogdns.net
J-L
Jérémy Jeanson avait énoncé :
Il faut créer un bitmap, utiliser un objet graphics pour dessiner ton image sur ce bitmap, ensuite tu ecris ton text avec ce même objet graphics et pour finir tu enregistre ton bitmap et le tour est joué.
Si tu as besoin d'un exemple, dis le, je pourrai t'en coder un dès que j'aurai un Visual Studio sous la main, mais je crois que la manip que je viens de t'indiquer est en partie présente dans la MSDN (c'est du GDI)
Pour résumé tu as besoin de 3 classes présentes dans System.Drawing ou Drawing2D : Bitmap, Image, Graphics.
J'aurais du préciser un peu mieux mon problème. En fait, je sais qu'il faut utiliser un Graphics mais si je trouve une méthode CreateGraphics sur les contrôles (par exemple sur un Form), je ne trouve aucune méthode équivalente sur Bitmap ou Image. A part un GetHBitmap qui, si j'ai bien compris, m'obligerait à utiliser des API win32 pour travailler dessus. Le problème serait donc de savoir comment créer ce Graphics.
Par contre, ton explication me fait soulever une question.
Est-ce que je dois obligatoirement créer un nouveau bitmap pour y dessiner mon image originale et mon texte avant de sauvegarder ? N'est-il pas possible de charger un bitmap, y ajouter un texte et le sauvegarder sous un autre nom ?
Merci de ton intervention :-)
Jérémy Jeanson avait énoncé :
Il faut créer un bitmap, utiliser un objet graphics pour dessiner ton image
sur ce bitmap, ensuite tu ecris ton text avec ce même objet graphics et pour
finir tu enregistre ton bitmap et le tour est joué.
Si tu as besoin d'un exemple, dis le, je pourrai t'en coder un dès que
j'aurai un Visual Studio sous la main, mais je crois que la manip que je
viens de t'indiquer est en partie présente dans la MSDN (c'est du GDI)
Pour résumé tu as besoin de 3 classes présentes dans System.Drawing ou
Drawing2D : Bitmap, Image, Graphics.
J'aurais du préciser un peu mieux mon problème.
En fait, je sais qu'il faut utiliser un Graphics mais si je trouve une
méthode CreateGraphics sur les contrôles (par exemple sur un Form), je
ne trouve aucune méthode équivalente sur Bitmap ou Image. A part un
GetHBitmap qui, si j'ai bien compris, m'obligerait à utiliser des API
win32 pour travailler dessus. Le problème serait donc de savoir
comment créer ce Graphics.
Par contre, ton explication me fait soulever une question.
Est-ce que je dois obligatoirement créer un nouveau bitmap pour y
dessiner mon image originale et mon texte avant de sauvegarder ?
N'est-il pas possible de charger un bitmap, y ajouter un texte et le
sauvegarder sous un autre nom ?
Il faut créer un bitmap, utiliser un objet graphics pour dessiner ton image sur ce bitmap, ensuite tu ecris ton text avec ce même objet graphics et pour finir tu enregistre ton bitmap et le tour est joué.
Si tu as besoin d'un exemple, dis le, je pourrai t'en coder un dès que j'aurai un Visual Studio sous la main, mais je crois que la manip que je viens de t'indiquer est en partie présente dans la MSDN (c'est du GDI)
Pour résumé tu as besoin de 3 classes présentes dans System.Drawing ou Drawing2D : Bitmap, Image, Graphics.
J'aurais du préciser un peu mieux mon problème. En fait, je sais qu'il faut utiliser un Graphics mais si je trouve une méthode CreateGraphics sur les contrôles (par exemple sur un Form), je ne trouve aucune méthode équivalente sur Bitmap ou Image. A part un GetHBitmap qui, si j'ai bien compris, m'obligerait à utiliser des API win32 pour travailler dessus. Le problème serait donc de savoir comment créer ce Graphics.
Par contre, ton explication me fait soulever une question.
Est-ce que je dois obligatoirement créer un nouveau bitmap pour y dessiner mon image originale et mon texte avant de sauvegarder ? N'est-il pas possible de charger un bitmap, y ajouter un texte et le sauvegarder sous un autre nom ?
Merci de ton intervention :-)
Jérémy Jeanson
Voici un petit exemeple qui devrait répondre clairement à tes questions:
// Path vers l'image String path = "...";
// Chargement de l'image à dessiner Image image = Image.FromFile(path);
// Création du bitmap pour réaliser le dessin Bitmap bmp = new Bitmap( image.Width, image.Height);
// Créatio ndu graphics pour dessiner Graphics g = Graphics.FromImage(bmp);
// On dessine l'image g.DrawImage(image, 0, 0);
// On ajoute un text g.DrawString("Mon texte", this.Font, Brushes.Black, new PointF(0, 0));
bmp.Save(path);
PS : notes au passage qu'image est une classe abstraite qui ne peut être instanciée par un new et bitmap n'a rien à voir avec BMP, c'est l'objet utilisable pour tracer des images... ce sont des concepts à garder ne tête pour comprendre GDI, et j'avoue que la première fois ce n'est pas évidant à comprendre. -- Jérémy JEANSON MCP http://jeremy.blogdns.net
Voici un petit exemeple qui devrait répondre clairement à tes questions:
// Path vers l'image
String path = "...";
// Chargement de l'image à dessiner
Image image = Image.FromFile(path);
// Création du bitmap pour réaliser le dessin
Bitmap bmp = new Bitmap(
image.Width,
image.Height);
// Créatio ndu graphics pour dessiner
Graphics g = Graphics.FromImage(bmp);
// On dessine l'image
g.DrawImage(image, 0, 0);
// On ajoute un text
g.DrawString("Mon texte", this.Font, Brushes.Black, new PointF(0, 0));
bmp.Save(path);
PS : notes au passage qu'image est une classe abstraite qui ne peut être
instanciée par un new et bitmap n'a rien à voir avec BMP, c'est l'objet
utilisable pour tracer des images... ce sont des concepts à garder ne
tête pour comprendre GDI, et j'avoue que la première fois ce n'est pas
évidant à comprendre.
--
Jérémy JEANSON
MCP
http://jeremy.blogdns.net
Voici un petit exemeple qui devrait répondre clairement à tes questions:
// Path vers l'image String path = "...";
// Chargement de l'image à dessiner Image image = Image.FromFile(path);
// Création du bitmap pour réaliser le dessin Bitmap bmp = new Bitmap( image.Width, image.Height);
// Créatio ndu graphics pour dessiner Graphics g = Graphics.FromImage(bmp);
// On dessine l'image g.DrawImage(image, 0, 0);
// On ajoute un text g.DrawString("Mon texte", this.Font, Brushes.Black, new PointF(0, 0));
bmp.Save(path);
PS : notes au passage qu'image est une classe abstraite qui ne peut être instanciée par un new et bitmap n'a rien à voir avec BMP, c'est l'objet utilisable pour tracer des images... ce sont des concepts à garder ne tête pour comprendre GDI, et j'avoue que la première fois ce n'est pas évidant à comprendre. -- Jérémy JEANSON MCP http://jeremy.blogdns.net
J-L
Graphics.FromImage
Voilà ce que je n'avais pas trouvé. :-)
J'écris le code suivant:
Bitmap bmpsource = new Bitmap(@"D:DocumentsMes images 0012278.jpg"); Bitmap bmpDestin = new Bitmap(bmpsource.Width, bmpsource.Height); Graphics g = Graphics.FromImage(bmpDestin); g.DrawImage(bmpsource, new Point(0,0));
StringFormat format1 = new StringFormat(StringFormatFlags.NoClip);
String s = "JUSTEnUNnESSAInPOURnVERIFIER"; SizeF F = g.MeasureString(s, this.Font, new PointF(0, 0), format1); MessageBox.Show(F.ToString());
g.DrawString(s, this.Font, new System.Drawing.SolidBrush(Color.White), new PointF(F.Width / 2, 0F), format1);
bmpDestin.Save("C:Test.jpg");
System.Diagnostics.Process.Start(@"C:Test.jpg");
Ca fonctionne impeccablement, merci !
Par contre, un truc que je ne comprends pas, c'est que je charge un jpg, , j'écris mon jpg dans mon bitmap, j'enregistre avec une extension jpg. Quand irfanview ouvre mon image, il me dit que c'est un png avec une extension incorrecte et me propose de le renommer en .png.
C# ferait-il automatiquement des png ?
Graphics.FromImage
Voilà ce que je n'avais pas trouvé. :-)
J'écris le code suivant:
Bitmap bmpsource = new Bitmap(@"D:DocumentsMes images 0012278.jpg");
Bitmap bmpDestin = new Bitmap(bmpsource.Width, bmpsource.Height);
Graphics g = Graphics.FromImage(bmpDestin);
g.DrawImage(bmpsource, new Point(0,0));
StringFormat format1 = new StringFormat(StringFormatFlags.NoClip);
String s = "JUSTEnUNnESSAInPOURnVERIFIER";
SizeF F = g.MeasureString(s, this.Font, new PointF(0, 0), format1);
MessageBox.Show(F.ToString());
g.DrawString(s, this.Font, new System.Drawing.SolidBrush(Color.White),
new PointF(F.Width / 2, 0F), format1);
bmpDestin.Save("C:\Test.jpg");
System.Diagnostics.Process.Start(@"C:\Test.jpg");
Ca fonctionne impeccablement, merci !
Par contre, un truc que je ne comprends pas, c'est que je charge un
jpg, , j'écris mon jpg dans mon bitmap, j'enregistre avec une extension
jpg.
Quand irfanview ouvre mon image, il me dit que c'est un png avec une
extension incorrecte et me propose de le renommer en .png.
Bitmap bmpsource = new Bitmap(@"D:DocumentsMes images 0012278.jpg"); Bitmap bmpDestin = new Bitmap(bmpsource.Width, bmpsource.Height); Graphics g = Graphics.FromImage(bmpDestin); g.DrawImage(bmpsource, new Point(0,0));
StringFormat format1 = new StringFormat(StringFormatFlags.NoClip);
String s = "JUSTEnUNnESSAInPOURnVERIFIER"; SizeF F = g.MeasureString(s, this.Font, new PointF(0, 0), format1); MessageBox.Show(F.ToString());
g.DrawString(s, this.Font, new System.Drawing.SolidBrush(Color.White), new PointF(F.Width / 2, 0F), format1);
bmpDestin.Save("C:Test.jpg");
System.Diagnostics.Process.Start(@"C:Test.jpg");
Ca fonctionne impeccablement, merci !
Par contre, un truc que je ne comprends pas, c'est que je charge un jpg, , j'écris mon jpg dans mon bitmap, j'enregistre avec une extension jpg. Quand irfanview ouvre mon image, il me dit que c'est un png avec une extension incorrecte et me propose de le renommer en .png.
C# ferait-il automatiquement des png ?
Jérémy Jeanson
Normal :) enfin si tu ne touches pas aux surcharges de la méthode Save
Exemple pour avoir un jpeg: bitmap.Save("...", System.Drawing.Imaging.ImageFormat.Jpeg);
-- Jérémy JEANSON MCP http://jeremy.blogdns.net
Normal :) enfin si tu ne touches pas aux surcharges de la méthode Save
Exemple pour avoir un jpeg:
bitmap.Save("...", System.Drawing.Imaging.ImageFormat.Jpeg);