2014-07-05 3 views
1

너비가 500px, 높이가 400px 인 이미지를 업로드하고 코드에서 높이와 너비를 늘리면 div 코드가 1000px 및 290px 높이가됩니다. 여기에 내 코드 샘플이 있습니다. 그것은 최종 HX w와 동일 할 것이다 화상이 동일한 비율, 초기 높이 X 폭 (되는 H ×)의 비율을 보장 크기를 조정 화상이미지의 높이와 너비를 늘리지 않고 늘리는 방법

var thumbnailImg = new Bitmap(newWidth, newHeight); 
     var thumbGraph = Graphics.FromImage(thumbnailImg); 
     thumbGraph.CompositingQuality = CompositingQuality.HighQuality; 
     thumbGraph.SmoothingMode = SmoothingMode.HighQuality; 
     thumbGraph.InterpolationMode = InterpolationMode.HighQualityBicubic; 

     //Bitmap bmpImage = new Bitmap(img); 

     var imageRectangle = new Rectangle(0, 0, newWidth, newHeight); 
     //Bitmap bmpcrop = bmpImage.Clone(imageRectangle, bmpImage.PixelFormat); 
     //return (Image)bmpcrop; 
     thumbGraph.DrawImage(img, imageRectangle); 
     MemoryStream stram = new MemoryStream(); 
     thumbnailImg.Save(stram, img.RawFormat); 
     byte[] imagebytes = stram.ToArray(); 
     return imagebytes; 
+0

스트레칭하지 않고 더 크게 만들 수 없습니다. 비율을 동일하게 유지하는 법을 묻고 있습니까? – nnnnnn

+0

예 화면에 맞도록 만들고 싶지 않으며 늘리지 않아야합니다. – sayeed

+0

@nnnnnn에 대해 알고 싶으십니까? – sayeed

답변

0

스트레칭 얻는다.

귀하의 경우 초기 비율은 500 : 400이고 마지막은 1000 : 290입니다.

500 : 400에서 1000 : 800으로 만들면 2 배 더 커집니다. 여기서 초기 비율은 최종 비율과 같습니다.

그러나 이것은 지정된 div의 너비에 맞지 않습니다.

다른 방법은 너비를 290로 줄이는 것입니다. 즉, 높이를 비례 적으로 줄이는 것이고 높이를 1000보다 작게 (1000 * (290/400)) 줄여야합니다.

완벽한 방법을 원한다면 초기 사진 크기 또는 div 크기를 변경하는 것이 유일한 방법입니다.

관련 문제