Мне нужно добавить текст в файл изображения. Мне нужно прочитать один файл изображения (jpg, png, gif), и мне нужно добавить к нему один текст строки.Добавление текста в файл изображения
ответ
Вы можете сделать это, используя объект Graphics в C#. Вы можете получить объект Graphics из изображения (image.CreateGraphics() - или что-то вроде этого, как я помню), и использовать некоторые встроенные методы для добавления к нему текста, например: Graphycs.DrawString() или другие связанные методы.
Ну в GDI + вы читали в файле с использованием класса изображения, а затем использовали класс Graphics для добавления в него текста. Что-то вроде:
Image image = Image.FromFile(@"c:\somepic.gif"); //or .jpg, etc...
Graphics graphics = Graphics.FromImage(image);
graphics.DrawString("Hello", this.Font, Brushes.Black, 0, 0);
Если вы хотите сохранить файл поверх старого, код должен немного изменить как метод Image.FromFile() блокирует файл, пока он не удален. Вот, что я придумал:
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();
я бы проверить это довольно хорошо, хотя :)
Просто играйте адвоката дьявола здесь: вам, очевидно, нужно будет сохранить его потом! –
Надеюсь, это поможет. –
как повернуть этот текст, затем добавить картинку? –
Специально для GIFs иметь результат GIF, вы должны написать на каждом кадре, как следующее:
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);
}
Я должен был упомянуть, что получение gif-фреймов от this post.
https://stackoverflow.com/a/48395131/485008 –
- 1. Интерактивное добавление текста/изображения в файл PDF
- 2. Добавление текста выше изображения
- 3. Добавление изображения в текст текста текста
- 4. Добавление текста в файл dxf
- 5. Добавление текста в созданный файл
- 6. PHP: Добавление текста в файл
- 7. Добавление текста в файл Gif (ios)
- 8. Добавление изображения в файл PDF
- 9. Добавление текста в pdf после изображения
- 10. Добавление новых строк текста в текстовый файл
- 11. Добавление текста ввода пользователя в файл .txt
- 12. Добавление текста в файл - Visual Basic
- 13. Добавление строки текста в xml-файл
- 14. Добавление текста в файл с помощью Enum
- 15. Динамическое добавление текста под кнопкой изображения
- 16. Добавление текста в TIFF
- 17. Экспорт текста и изображения в один файл
- 18. Преобразование текста в файл изображения на Android
- 19. Преобразование текста из изображения в текстовый файл
- 20. Magento - Добавление изображения в файл макета XML
- 21. Добавление фонового изображения в файл шаблонов просмотров
- 22. python Добавление изображения PIL в файл pdf
- 23. Добавление изображения в файл Excel, созданный Axlsx.?
- 24. Добавление изображения в html-файл с iOS
- 25. Добавление текста в jpeg
- 26. Добавление текста в UIScrollView
- 27. Android: добавление изображения в основной поток детали, прокрутка текста
- 28. Добавление текста и изображения в JList в netbeans
- 29. HorizontalScrollView Добавление текста в галерею
- 30. Добавление изображения в DataTable
Вглядываясь в него. Проблема в том, что при открытии файла он заблокирован, поэтому вы не можете сохранить его в том же файле. Вернусь к вам ... –