Я использую следующий код (кредит Dolph Larson), чтобы взять предварительно сделанный файл изображения в растровом формате на сервере ASP.net , нарисуйте на нем строку и сохраните ее на файл на сервере. В исходном коде он выгружает растровое изображение в OutputStream, но я бы хотел сбросить его в файл.Добавление текста в JPG-изображение в ASP.net C# и сохранение в файл на сервере
Версия кода ниже успешно создает новый файл, но когда я его открываю, строка не отображается на изображении в новом файле. Я предполагаю, что мне не хватает шага - когда я использую bitMapImage.Save («bitmaptest.jpg», ImageFormat.Jpeg), я просто повторно сохраняю оригинал вместо измененной версии?
Вот код:
//Load the Image to be written on.
Bitmap bitMapImage = new
System.Drawing.Bitmap(Server.MapPath("generic.jpg"));
Graphics graphicImage = Graphics.FromImage(bitMapImage);
graphicImage.SmoothingMode = SmoothingMode.AntiAlias;
graphicImage.DrawString("testing 1 2 3",
new Font("Arial", 20, FontStyle.Bold),
SystemBrushes.WindowText, new Point(0, 0));
Response.ContentType = "image/jpeg";
bitMapImage.Save("bitmaptest.jpg", ImageFormat.Jpeg);
graphicImage.Dispose();
bitMapImage.Dispose();
Заранее спасибо!
Мне кажется, вы должны сохранить растровое изображение графики, а не растровое изображение, которое вы взяли с изображения ... другими словами, graphicImage может изменять свою собственную копию BitmapImage, и вы сохраняете исходную. – Machinarius