我是asp.net mvc的新手,但我正在尝试用GDI +做一个有趣的应用程序,我需要用asp.net mvc做一些图像视图。
我有一个具有图像属性的模型:
namespace DomainModel.Entities
{
public class BackgroundImage
{
// Properties
public Image Image {get; private set; }
public BackgroundImage()
{
Image = Image.FromFile(@"D:\ProjectZero\DomainModel\image\bkg.PNG");
}
}
}
控制器向视图发送以下内容:
public ActionResult Index()
{
BackgroundImage bkImg = new BackgroundImage();
return View(bkImg);
}
视图如下所示:
<p> Height: </p><%= Model.Image.Height //it prints the height of the image %> </br>
<p> Width: </p><%= Model.Image.Width //it prints the width %> </br>
<p> Image: </p><%= Model.Image //does not work to display the image %>
如何显示该图像属性?
我需要div的背景图片。我不需要调整图像大小,我只需要以正常大小显示它。
我想念一个Html Helper吗?
谢谢您的时间!
答案 0 :(得分:15)
您需要编写一个控制器操作,将图像写入响应流并将正确的内容类型设置为“image / png”。然后,您可以使用img
标记在视图中引用此操作:
public ActionResult Image()
{
byte[] image = GenerateImage();
return File(image, "image/png");
}
在你的观点中:
<img src="<%= Url.Action("Image") %>" alt="" />
答案 1 :(得分:1)
如果你想做这样的事情,你将需要一个HttpHandler。