Image.GetThumbnailimage方法和质量

Jef*_*ley 5 .net c# asp.net graphics

我遇到了Getthumbnailimage的问题.问题是某个尺寸的文件大小显示非常模糊和颗粒状.在msdn,它说

当请求的缩略图图像的大小约为120 x 120像素时,GetThumbnailImage方法很有效.如果从具有嵌入式缩略图的图像请求大型缩略图图像(例如,300 x 300),则缩略图图像中可能会出现明显的质量损失.通过调用DrawImage方法缩放主图像(而不是缩放嵌入的缩略图)可能更好.

问题是drawimage似乎是在windows窗体中.有没有办法在Webforms中做到这一点?这是我的代码的一部分.注意:我不想获得缩略图,其他人写了这个,我只想显示实际大小,这就是全部.

protected void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
ad a=(ad)Session["a"];
     DataView dv=a.AdData.Tables[0].DefaultView;
dv.RowFilter="ad_nbr=" + Request.QueryString["l"].Trim();
byte[] MyData= new byte[0];
MyData =  (byte[])dv[0]["image"];
System.Web.HttpContext.Current.Response.ContentType = "image/jpeg";     System.Drawing.Image _image = System.Drawing.Image.FromStream(new  stem.IO.MemoryStream( (byte[])dv[0]["image"]) );

System.Drawing.Image _newimage = _image.GetThumbnailImage(_image.Width, _image.Height,    null, new System.IntPtr() );

        _newimage.Save( System.Web.HttpContext.Current.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg );

    }
Run Code Online (Sandbox Code Playgroud)

Tri*_*dus 9

如果您想要更好地控制所获得的质量(特别是更好的质量),请查看使用此方法调整大小.还有一些工作要做,但结果比GetThumbnailImage好多了.

此方法也适用于Webforms.

  • 该方法将创建图像,您必须将其放在另一个页面上以自己输出图像,然后将其包含在<img>标记中.[这里有关于如何做到这一点的帮助](http://stackoverflow.com/questions/2253228/asp-net-return-image-from-aspx-link) (2认同)