如果这个问题太愚蠢或以前被问到,请原谅我。我需要在我的网络应用程序中显示一个图像,图像以db为单位存储在db中,我从字节中生成图像,但问题是当我在我的网络应用程序中显示它时,流量意味着图像帧大小是100x100但图像的实际分辨率。如何解决这个问题我的当前代码如下:
控制器
[HttpPost]
public ActionResult ByteToImage()
{
ImageDL getImage = new ImageDL();
byte[] image = getImage.CreateImage();
return File(image,"Image/jpeg");
}
剃刀
<img alt="" src="@Url.Action("ByteToImage", "User")" height="100" width="100" />
答案 0 :(得分:0)
一旦你有一个byte []格式的图像,你可以将图像重新绘制到你想要的任何高度宽度:
public FileContentResult GetImage(byte[] imgData, int WIDTH, int HEIGHT)
{
MemoryStream ms = new MemoryStream(imgData);
using (var srcImage = Image.FromStream(ms))
using (var newImage = new Bitmap(WIDTH, HEIGHT))
using (var graphics = Graphics.FromImage(newImage))
using (var stream = new MemoryStream())
{
graphics.DrawImage(srcImage, new Rectangle(0, 0, WIDTH, HEIGHT));
newImage.Save(stream, ImageFormat.Jpeg);//Set your desired image format
return File(stream.ToArray(), "image/jpeg");
}
}
答案 1 :(得分:0)
尝试下面提到的图像标签,高度为&amp;使用样式而不是单独声明的宽度,将在所有浏览器中提供内容剪辑。
<img style="width:220px;height:115px;" alt="" src="@Url.Action("ByteToImage", "User")"/>