아래 코드를 사용하여 이미지 크기를 줄입니다. 그것은 잘 작동합니다. 내 문제는 3MB 사진이 470KB 이하로 축소된다는 것입니다. 파일 크기를 더 줄이는 방법이 있습니까? interpolationmode, smoothingmode 및 다른 것들에 관한 모든 가능한 설정으로 연주했지만 결과 이미지는 여전히 약 400kb입니다. 이러한 이미지는 신문 웹 사이트에서 사용되므로 자신의 자질을 보존해야합니다.ASP.NET에서 이미지 크기 줄이기 (012)
편집 내 이미지 크기는 4000 X 3000 픽셀이며, 나는 넓은 650 픽셀까지 확장하고있다. 당신이 EncoderParametres 옵션을 가지고있는 Image.Save 방법을 사용하는 경우
Dim image_p As Image = _
ResizeImage(img, Convert.ToInt32(pWidth), Convert.ToInt32(pHeight))
Private Function ResizeImage(_
original_img As Bitmap, width As Integer, height As Integer) As Bitmap
Dim callback As New Image.GetThumbnailImageAbort(AddressOf GetThumbAbort)
Dim new_img As New Bitmap(original_img, width, height) 'new blank bitmap'
Dim g As Graphics = Graphics.FromImage(new_img)
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias
g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighSpeed
g.CompositingQuality = _
System.Drawing.Drawing2D.CompositingQuality.HighSpeed
g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver
g.DrawImage(original_img, 0, 0, width, height)
Return new_img
End Function
"이 이미지는 신문 웹 사이트에서 사용되므로 그 품질을 유지해야합니다"는 의미는 무엇입니까? 뭐라구? – Will
어떤 파일 형식을 사용하고 있습니까? 이미지 예제가 있습니까? 전체 치수 및 색상 깊이는 무엇입니까? 650x? x? – Will
@Will 이미지 형식은 jpg입니다. 내가 멘토하는 것에 관해서; 이러한 이미지는 웹 사이트의 첫 페이지에서 사용되므로 저 품질 압축을 할 여유가 없습니다. (내가 말하면 사이트에 업로드 된 모든 사진은 약 3MB이고 자르기를 사용하여 650 x 300 크기로 축소됩니다. –