ASP.NET Core 2에서 CoreCompat 라이브러리를 사용하여 이미지를 jpeg로 압축하고 싶습니다. 다른 품질과 파일로 이미지를 변경하고 싶습니다. 크기. 문제는 품질 매개 변수에 대해 다른 값을 사용하면 동일한 파일 크기를 얻게된다는 것입니다. 내가 도대체 뭘 잘못하고있는 겁니까? 품질을 내가 값을 0, 50, 여기에 100을 사용되었다 내 코드입니다 :CoreCompat로 압축했을 때 이미지의 크기가 달라지지 않음
const int size = 500;
const long quality = 50L;
string inputPath = @"D:\Images\land.jpg";
string outputPath = [email protected]"D:\Images\land_{quality}.jpg";
using (var image = new Bitmap(System.Drawing.Image.FromFile(inputPath)))
{
var resized = new Bitmap(size, size);
using (var graphics = Graphics.FromImage(resized))
{
graphics.CompositingQuality = CompositingQuality.HighSpeed;
graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphics.CompositingMode = CompositingMode.SourceCopy;
graphics.DrawImage(image, 0, 0, size, size);
using (var output = File.Open(outputPath, FileMode.Create))
{
var qualityParamId = Encoder.Quality;
var encoderParameters = new EncoderParameters(1);
encoderParameters.Param[0] = new EncoderParameter(qualityParamId, quality);
var codec = ImageCodecInfo.GetImageDecoders()
.FirstOrDefault(c => c.FormatID == ImageFormat.Jpeg.Guid);
resized.Save(output, codec, encoderParameters);
}
}
}
내 입력 파일 lang.jpg는 크기 5메가바이트 (8386x2229)와 출력 파일 land_0.jpg, land_50.jpg 및 land_100.jpg있다 모두 62KB이고 크기는 500x500입니다. 이 출력 파일의 크기가 같은 이유는 무엇입니까?