我正在尝试使用FitMode.Max参数调整图像大小,并且由于我将图像保存在数据库中,因此需要保存新的图像尺寸。
public ImageResizeResponse Resize(Stream stream, int maxHeight = 1024, int maxWidth = 1024)
{
var response = new ImageResizeResponse();
using (var ms = new MemoryStream())
{
var job = new ImageJob(stream, ms, new Instructions
{
Mode = FitMode.Max,
Scale = ScaleMode.Both,
JpegQuality = 80,
OutputFormat = OutputFormat.Jpeg,
Cache = ServerCacheMode.No,
Height = maxHeight,
Width = maxWidth
});
job.Build();
response.FileContent = ms.ToArray();
response.FinalHeight = job.FinalHeight.GetValueOrDefault();
response.FinalWidth = job.FinalWidth.GetValueOrDefault();
return response;
}
}
问题在于,当我调整小于1024x1024的图像的大小时,FinalHeight和FinalWidth为我提供了1024x1024的尺寸。
我希望参数为25x25,这是我原始图片的大小。我该怎么做?
答案 0 :(得分:2)
事实证明,我已经使用ScaleMode.Both配置了指令,并且如果将它与设置FitMode.Max结合使用,它仍会将图像放大到配置的高度和宽度。