调整图像大小。 。 。 。

时间:2009-12-19 10:20:08

标签: c# resize-image

嗨非常感谢我在这段代码下面有一个代码,上传一张图片。把它转换成  字节码并将其存储在数据库中..并在gridview中将其检索..事情就在之前  把它转换成字节码我想调整它的大小你可以告诉我我应该在这里插入什么代码...非常感谢.. ...

protected void btnUpload_Click(object sender, EventArgs e)
{
 string strID= txtid.Text.ToString();
 string strImageName = txtName.Text.ToString();
 if (FileUpload1.PostedFile != null && 
     FileUpload1.PostedFile.FileName != "")
  {


   byte[] imageSize = new byte
                 [FileUpload1.PostedFile.ContentLength];

  HttpPostedFile uploadedImage = FileUpload1.PostedFile;
  uploadedImage.InputStream.Read
     (imageSize, 0, (int)FileUpload1.PostedFile.ContentLength);

 // Create SQL Connection 
  SqlConnection con = new SqlConnection("user id=sa;password=Zoomin@123;database=salary_db;server=192.168.1.100");


 // Create SQL Command 

 SqlCommand cmd = new SqlCommand();
 cmd.CommandText = "INSERT INTO image1(ID,ImageName,Image)" +
                   " VALUES (@ID,@ImageName,@Image)";
 cmd.CommandType = CommandType.Text;
 cmd.Connection = con;


 SqlParameter ID = new SqlParameter
                   ("@ID", SqlDbType.VarChar, 50);
 ID.Value = strID.ToString();
 cmd.Parameters.Add(ID);

 SqlParameter ImageName = new SqlParameter
                     ("@ImageName", SqlDbType.VarChar, 50);
 ImageName.Value = strImageName.ToString();
 cmd.Parameters.Add(ImageName);

 SqlParameter UploadedImage = new SqlParameter
               ("@Image", SqlDbType.Image, imageSize.Length);
 UploadedImage.Value = imageSize;
 cmd.Parameters.Add(UploadedImage);
 con.Open();
 int result = cmd.ExecuteNonQuery();
 con.Close();
 if (result > 0)
 lblMessage.Text = "File Uploaded";

 GridView1.DataBind();

 }}

2 个答案:

答案 0 :(得分:3)

您可以使用以下功能:

public void ResizeImage(double scaleFactor, Stream fromStream, Stream toStream)
{
    using (var image = Image.FromStream(fromStream))
    {
        var newWidth = (int)(image.Width * scaleFactor);
        var newHeight = (int)(image.Height * scaleFactor);
        using (var thumbnailBitmap = new Bitmap(newWidth, newHeight))
        using (var thumbnailGraph = Graphics.FromImage(thumbnailBitmap))
        {
            thumbnailGraph.CompositingQuality = CompositingQuality.HighQuality;
            thumbnailGraph.SmoothingMode = SmoothingMode.HighQuality;
            thumbnailGraph.InterpolationMode = InterpolationMode.HighQualityBicubic;
            var imageRectangle = new Rectangle(0, 0, newWidth, newHeight);
            thumbnailGraph.DrawImage(image, imageRectangle);
            thumbnailBitmap.Save(toStream, image.RawFormat);
        }
    }
}

参数的名称应该是不言自明的。

答案 1 :(得分:0)