2011-08-26 5 views
5

Getthumbnailimage에 문제가 있습니다. 문제는 특정 크기의 파일 크기가 매우 흐리거나 거칠게 표시된다는 것입니다. 이상 msdn에서, 요청 된 썸네일 이미지가 약 120 X 120 픽셀의 크기를 가질 때Image.GetThumbnailimage 방법 및 품질

가 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); 

    } 

답변

9

더 나은 품질 (특히 더 나은 품질)을 얻고 싶다면 take a look at resizing using this method. 조금 더 많은 작업이 필요하지만 그 결과는 GetThumbnailImage보다 훨씬 좋습니다.

이 방법은 Webforms에서도 작동합니다.

+0

그 플러그를 꽂으려고했는데, 지금 내 페이지 출력에 아무 것도 얻지 못했습니다. – Jeff

+1

그 방법은 이미지를 만들려고합니다. 이미지를 출력하기 위해 다른 페이지에 놓아야합니다. 그 코드는 태그입니다. [여기에 대한 도움말] (http://stackoverflow.com/questions/2253228/asp-net-return-image-from-aspx-link) – Tridus