이미지 크기를 원래 크기보다 작게 만들려고합니다. 다음 코드를 사용하여 크기 이미지를 압축하지만 이미지 크기를 1MB에서 1.5MB로 늘립니다.
기타 원본 이미지의 높이, 너비를 변경하지 않고 큰 크기의 이미지를 압축하는 다른 솔루션. 작은 출력 파일이있을 것입니다 덜 품질 - 당신은 대부분 직접 파일 크기와 상관 관계 것 JPEG 등의 파일을 저장할 때
이미지를 원래의 높이, 너비를 변경하지 않고 압축하는 방법 #
public static byte[] CompressImage(Image img) {
int originalwidth = img.Width, originalheight = img.Height;
Bitmap bmpimage = new Bitmap(originalwidth, originalheight);
Graphics gf = Graphics.FromImage(bmpimage);
gf.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
gf.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.AssumeLinear;
gf.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
Rectangle rect = new Rectangle(0, 0, originalwidth, originalheight);
gf.DrawImage(img, rect, 0, 0, originalwidth, originalheight, GraphicsUnit.Pixel);
byte[] imagearray;
using (MemoryStream ms = new MemoryStream())
{
bmpimage.Save(ms, ImageFormat.Jpeg);
imagearray= ms.ToArray();
}
return imagearray;
}
질문을 다시 할 수 있습니까? JPEG 파일 형식의 실제 파일 압축 문제와 관련된 문제에 대해 이야기하는 동시에 "다운 스케일"을 의미 할 때 "압축"을 사용하는 것처럼 들립니다. – Dai
나는 품질을 잃지 않고 이미지 크기를 작게 만들고 싶습니다. 이것은 제 질문입니다. –