C# 帮助从调整大小的图像中获取数据
我正在使用ASP.NET文件上载控件,然后调整图像大小并将新图像存储在新位图中。以下是我目前掌握的代码:C# 帮助从调整大小的图像中获取数据,c#,asp.net,image-resizing,C#,Asp.net,Image Resizing,我正在使用ASP.NET文件上载控件,然后调整图像大小并将新图像存储在新位图中。以下是我目前掌握的代码: protected void ResizeImage() { Bitmap originalBMP = new Bitmap(FileUpload1.FileContent); //Calculate new image dimensions int origWidth = originalBMP.Width;
protected void ResizeImage()
{
Bitmap originalBMP = new Bitmap(FileUpload1.FileContent);
//Calculate new image dimensions
int origWidth = originalBMP.Width;
int origHeight = originalBMP.Height;
int sngRatio = origWidth / origHeight;
int newWidth = 100;
int newHeight = newWidth / sngRatio;
Bitmap newBMP = new Bitmap(originalBMP, newWidth, newHeight);
}
我直接上传到AmazonS3,我需要将一些数据传递到它的上传方法。如何从文件上载使用的新位图中获取以下信息:
FileUpload1.FileBytes
FileUpload1.FileBytes.Length
我是否需要将新位图保存到流中,以便获得字节数组?您需要创建
内存流
并调用位图。保存
然后,您可以使用位图构造函数调用MemoryStream.ToArray()
,这将为您提供质量极低且存在大量瑕疵的图像。另外,我希望您在两个位图实例周围都使用use(){}子句,因为这样的代码会在20-100个请求时使服务器崩溃。我建议你改用,这比避免使用更容易。