我必须在照片库中显示图像@ width=200 height=180,但是在上传图像时我必须调整它的大小,但问题是每张图像都有不同的分辨率。如何调整具有不同分辨率的图像大小以使图像保持不变。这是我的代码:
private void ResizeImage()
{
System.Drawing.Image ImageToUpload = System.Drawing.Image.FromStream(FileUpload1.PostedFile.InputStream);
byte[] image = null;
int h = ImageToUpload.Height;
int w = ImageToUpload.Width;
int r = int.Parse(ImageToUpload.VerticalResolution.ToString());
int NewWidth = 200;//constant
int NewHeight = 180;//constant
byte[] imagesize = FileUpload1.FileBytes;
System.Drawing.Bitmap BitMapImage = new System.Drawing.Bitmap(ImageToUpload, NewWidth, NewHeight);//this line gives horrible output
MemoryStream Memory = new MemoryStream();
BitMapImage.Save(Memory, System.Drawing.Imaging.ImageFormat.Jpeg);
Memory.Position = 0;
image = new byte[Memory.Length + 1];
Memory.Read(image, 0, image.Length);
}
如果分辨率为 96 并且我设置 maxwidth=200 那么它的高度将为 150 那么只有图像看起来小而准确。我们不能以所需的方式调整图像大小以使其看起来准确吗?