C# 帮助从调整大小的图像中获取数据

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;

我正在使用ASP.NET文件上载控件,然后调整图像大小并将新图像存储在新位图中。以下是我目前掌握的代码:

    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个请求时使服务器崩溃。我建议你改用,这比避免使用更容易。