Я смотрел на Места тестирования бета-версии Exchange Стека и заметил, что каждый сайт, который входит в бету, имеет диаграмму наверху со словами 'веб-приложения Бета' или 'Играющая Бета', например.
Я задался вопросом, создаются ли эти изображения индивидуально или если созданного динамично так или иначе? Существует ли способ использовать MVC.NET для создания PNGs на лету?
Если ответ является слишком сложным для этого форума, кто-либо может указать на меня на какие-либо статьи, которые помогут?
Заранее спасибо
Сниффер
Да, существует способ динамического создания и обслуживания изображений с помощью ASP.NET MVC. Вот пример:
public class HomeController : Controller
{
public ActionResult MyImage()
{
// Load an existing image
using (var img = Image.FromFile(Server.MapPath("~/test.png")))
using (var g = Graphics.FromImage(img))
{
// Use the Graphics object to modify it
g.DrawLine(new Pen(Color.Red), new Point(0, 0), new Point(50, 50));
g.DrawString("Hello World",
new Font(FontFamily.GenericSerif, 20),
new Pen(Color.Red, 2).Brush,
new PointF(10, 10)
);
// Write the resulting image to the response stream
using (var stream = new MemoryStream())
{
img.Save(stream, ImageFormat.Png);
return File(stream.ToArray(), "image/png");
}
}
}
}
А затем просто включите это изображение в представление:
<img src="<%= Url.Action("myimage", "home") %>" alt="my image" />