我有以下代码行,它将我的HttpPostedFileBase
并将其转换为图像。
我弄乱了编码器参数以尝试调整图像大小,但似乎无法做到这一点。
将图像大小调整为 250x250 的最佳方法是什么?
我也希望它把图像的中间作为 250x250 矩形而不是随机的某个地方。
什么是最节省空间的方式来转换和保存图像,因为它将进入数据库?
请注意,model.Image
它的类型是HttpPostedFileBase
.
var image = Image.FromStream(model.Image.InputStream, true, true);
ImageCodecInfo jpgInfo = ImageCodecInfo.GetImageEncoders()
.Where(codecInfo => codecInfo.MimeType == "image/jpeg").First();
using (EncoderParameters encParams = new EncoderParameters(1))
{
encParams.Param[0] = new EncoderParameter(Encoder.Quality, (long)50);
//quality should be in the range [0..100]
using (var ms = new MemoryStream())
{
// Convert Image to byte[]
image.Save(ms, ImageFormat.Jpeg);
byte[] imageBytes = ms.ToArray();
// Convert byte[] to Base64 String
string base64String = Convert.ToBase64String(imageBytes);
image64 = base64String;
}
}