Pergunta

Eu sou novo para asp.net MVC, mas eu estou tentando fazer um app engraçado com GDI + e eu preciso fazer alguma imagem vista com asp.net MVC.

Eu tenho um modelo que tem uma propriedade de imagem:

namespace DomainModel.Entities
{
    public class BackgroundImage
    {
        // Properties
        public Image Image {get; private set; }

        public BackgroundImage()
        {
            Image = Image.FromFile(@"D:\ProjectZero\DomainModel\image\bkg.PNG");

        }
    }
}

O controlador envia ao exibir o seguinte:

public ActionResult Index()
        {

            BackgroundImage bkImg = new BackgroundImage(); 
            return View(bkImg);
        }

Os view parece com isso:

<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 %>

Como faço para mostrar que a propriedade imagem?

Eu preciso que a imagem de fundo para uma div. Eu não preciso para redimensionar a imagem, eu só preciso exibi-lo em seu tamanho normal.

Existe um auxiliar HTML que eu perdi?

Obrigado, pelo seu tempo!

Foi útil?

Solução

Você precisa escrever uma ação de controlador que irá escrever a imagem para o fluxo de resposta e definir o tipo de conteúdo apropriado dizer "image / png". Então você pode usar a tag img para fazer referência a esta ação em seu ponto de vista:

public ActionResult Image()
{
    byte[] image = GenerateImage();
    return File(image, "image/png");
}

E dentro do seu ponto de vista:

<img src="<%= Url.Action("Image") %>" alt="" />

Outras dicas

Você vai precisar de um HttpHandler se você quer fazer coisas como esta.

http://dotnetperls.com/ashx-handler

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top