2015-02-14 3 views
1

Я пытаюсь создать скрипт на странице ASP.NET, которая получит существующее изображение и добавит в него текст. Затем я хочу, чтобы изображение (с текстом) отображалось на странице, например, это страница .png, чтобы ее можно было загрузить на форумах и т. Д. Это мой код, как сейчас:Написание текста по существующему изображению

Bitmap bitMapImage = new System.Drawing.Bitmap(Server.MapPath("~/Images/sigbg.png")); 
Graphics graphicImage = Graphics.FromImage(bitMapImage); 
graphicImage.SmoothingMode = SmoothingMode.AntiAlias; 
graphicImage.DrawString("Test", new Font(FontFamily.GenericSansSerif, 12, FontStyle.Bold), SystemBrushes.WindowText, 0,0); 
graphicImage.DrawArc(new Pen(Color.Red, 3), 0, 0, 150, 50, 0, 360); 
Response.ContentType = "image/png"; 
bitMapImage.Save(Response.OutputStream, ImageFormat.Png); 
graphicImage.Dispose(); 
bitMapImage.Dispose(); 

К сожалению, это не добавляет текст в изображение и сохраняет его в качестве исходного изображения. Затем на странице отображается «новое» изображение, но нет текста. Как это можно решить?

+1

вы попробуйте сохранить изображение настроив графику? –

+0

Я установил свой код, и он тоже не работает. Отредактировано мое сообщение с новым кодом. – Aradmey

+0

Каков преобладающий цвет sigbg.png? –

ответ

0

Ваш код верен и выдает «тест» и эллипс в левом верхнем углу. Убедитесь, что страница/изображение не кэшировано. Например, если вы поместите свой код на страницу aspx, попробуйте вызвать эту страницу со случайным запросом, то есть «image.aspx? 12345» или очистить кеш в браузере.

Кроме того, вы можете попробовать добавить следующий код, чтобы избежать кэширования

Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1)); 
Response.Cache.SetCacheability(HttpCacheability.NoCache); 
Response.Cache.SetNoStore(); 
+0

Моя страница 'Sig.aspx', и у вас есть' input text' для некоторого имени. Затем, когда вы отправляете форму, она перенаправляет вас на 'Sig.aspx? Name = Request.Form [" Name "]', а затем генерирует изображение. Проблема в том, что круг отображается, но строка не работает. Пробовал с вашим предоставленным кодом, но не работал. – Aradmey

+0

Текст в черном, черт возьми, черт возьми? – Alex

+0

http://img1.wikia.nocookie.net/__cb20121208002227/gtawiki/images/b/b9/Vinewood-Streets-Background.jpg, нет черных на черном здесь. – Aradmey

Смежные вопросы