Ich muss Text zu einer Bilddatei hinzufügen. Ich muss eine Bilddatei lesen (jpg, png, gif) und ich muss einen Linientext hinzufügen.Hinzufügen von Text zu einer Bilddatei
Antwort
Sie können dies tun, indem Sie das Graphics-Objekt in C# verwenden. Sie können ein Graphics-Objekt aus dem Bild (image.CreateGraphics() - oder etwas so, wie ich mich erinnere) und die Verwendung einiger der eingebauten Methoden zum Hinzufügen von Text wie: Graphycs.DrawString() oder andere verwandte Methoden.
Nun in GDI + Sie würden in der Datei mit einer Image-Klasse lesen und dann verwenden Sie die Graphics-Klasse, um Text hinzuzufügen. Etwas wie:
Image image = Image.FromFile(@"c:\somepic.gif"); //or .jpg, etc...
Graphics graphics = Graphics.FromImage(image);
graphics.DrawString("Hello", this.Font, Brushes.Black, 0, 0);
Wenn Sie die Datei über die alte speichern möchten, wird der Code hat ein bisschen als Image.FromFile() -Methode ändern sperrt die Datei, bis sie entsorgt wird. Hier finden Sie, was ich kam mit:
FileStream fs = new FileStream(@"c:\somepic.gif", FileMode.Open, FileAccess.Read);
Image image = Image.FromStream(fs);
fs.Close();
Bitmap b = new Bitmap(image);
Graphics graphics = Graphics.FromImage(b);
graphics.DrawString("Hello", this.Font, Brushes.Black, 0, 0);
b.Save(@"c:\somepic.gif", image.RawFormat);
image.Dispose();
b.Dispose();
ich dies ganz gründlich
Ich spiele hier einfach den Anwalt des Teufels: Du musst ihn natürlich später speichern! –
Hoffentlich hilft das oben genannte. –
Wie man diesen Text dreht und dann zum Bild hinzufügt? –
Insbesondere aber :) testen würde für Gifs ein gif Ergebnis haben, können Sie auf jeden Frame wie folgt schreiben sollte:
string originalImgPath = @"C:\test.gif";
Image IMG = Image.FromFile(originalImgPath);
FrameDimension dimension = new FrameDimension(IMG.FrameDimensionsList[0]);
int frameCount = IMG.GetFrameCount(dimension);
int Length = frameCount;
GifBitmapEncoder gEnc = new GifBitmapEncoder();
for (int i = 0; i < Length; i++)
{
// Get each frame
IMG.SelectActiveFrame(dimension, i);
var aFrame = new Bitmap(IMG);
// write one the selected frame
Graphics graphics = Graphics.FromImage(aFrame);
graphics.DrawString("Hello", new Font("Arial", 24, System.Drawing.FontStyle.Bold), System.Drawing.Brushes.Black, 50, 50);
var bmp = aFrame.GetHbitmap();
var src = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
bmp,
IntPtr.Zero,
Int32Rect.Empty,
BitmapSizeOptions.FromEmptyOptions());
// merge frames
gEnc.Frames.Add(BitmapFrame.Create(src));
}
string saveImgFile = @"C:\modified_test.gif"
using (FileStream fs2 = new FileStream(saveImgFile, FileMode.Create))
{
gEnc.Save(fs2);
}
Ich hätte erwähnen müssen, dass GIF-Frames von this post bekommen.
https://Stackoverflow.com/a/48395131/485008 –
- 1. Hinzufügen von Text zu einer DXF-Datei
- 2. PHP: Hinzufügen von Text zu einer Datei
- 3. Text zu einer Videodatei hinzufügen
- 4. Hinzufügen von Text zu einer PDF-Datei aus einer Textdatei
- 5. Hinzufügen von Text zu UIImage
- 6. Text zu CALayer hinzufügen
- 7. Hinzufügen von Text zu einem JPEG
- 8. Überschreiben einer Bilddatei (Bitmap)
- 9. Reine Python-Methode, um ein numpliges Array zu einer Text- oder Bilddatei zu komprimieren?
- 10. Hinzufügen von Text zu einer leeren Tabellenzelle ändert seine Breite
- 11. Hinzufügen von Text zu d3 Kreis
- 12. Hinzufügen von Text zu ArcGIS Javascript-Layer
- 13. Text aus Bilddatei in Java lesen
- 14. Android - Hinzufügen von Text zu einem Menüelement?
- 15. Hinzufügen von Text zu DataGridView-Zeilenkopf
- 16. Hinzufügen von Text zu einem grid.table Plot
- 17. Hinzufügen von Text zu ImageView in Android
- 18. Hinzufügen von Text zu einem Benachrichtigungssymbol
- 19. Hinzufügen von Text-Box zu Tabellenspalten bedingt
- 20. Hinzufügen von Hyperlink zu Text in JQuery
- 21. Hinzufügen von Hyperlinks zu Excel Text
- 22. Hinzufügen von Text zu geom_line in ggplot
- 23. Hinzufügen von klickbarem Text zu DrawingGroup
- 24. Hinzufügen von Text-Overlay zu Google Maps
- 25. Java Text zu einer bestimmten Zeile in einer Datei hinzufügen
- 26. Hinzufügen von Text zu Text, wenn die Bedingung erfüllt ist
- 27. Hochladen einer Bilddatei mit Nightwatch.js
- 28. Öffnen einer Bilddatei - BLACKBERRY/J2ME
- 29. Kodierung einer Bilddatei mit Base64
- 30. Text zu festen Preloader hinzufügen
Ein Blick darauf. Das Problem besteht darin, dass beim Öffnen der Datei diese gesperrt ist, sodass Sie sie nicht in derselben Datei speichern können. Ich melde mich bei dir ... –