我想通过Button来放大图片 用的是image   
请教在Button中 放大代码如何写  
 protected void btnOut_Click(object sender, EventArgs e)
  {
    
  }
谢谢

解决方案 »

  1.   

    参考/// <summary>
            /// 图片放大
            /// </summary>
            /// <param name="originBmp">原始图片</param>
            /// <param name="iSize">放大系数</param>
            /// <returns>放大后的图片</returns>
            public Bitmap PicSized(Bitmap originBmp, double iSize)
            {
                int w = Convert.ToInt32(originBmp.Width * iSize);
                int h = Convert.ToInt32(originBmp.Height * iSize);
                Bitmap resizedBmp = new Bitmap(w, h);
                Graphics g = Graphics.FromImage(resizedBmp);
                //设置高质量插值法  
                g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
                //设置高质量,低速度呈现平滑程度  
                g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
                //消除锯齿
                g.SmoothingMode = SmoothingMode.AntiAlias;
                g.DrawImage(originBmp, new Rectangle(0, 0, w, h), new Rectangle(0, 0, originBmp.Width, originBmp.Height), GraphicsUnit.Pixel);
                g.Dispose();
                return resizedBmp;
            }
      

  2.   

                if (pb_EquipmentImage.SizeMode == PictureBoxSizeMode.AutoSize)
                {
                    pb_EquipmentImage.SizeMode = PictureBoxSizeMode.Zoom;
                    if (pb_EquipmentImage.Image != null)
                    {
                        pb_EquipmentImage.Size = pb_EquipmentImage.Image.Size;
                        imagesize = pb_EquipmentImage.Image.Size;
                    }
                }
                if (pb_EquipmentImage.Size.Width > imagesize.Width * 8 || pb_EquipmentImage.Size.Height > imagesize.Height * 8)
                {
                    return;
                }
                pb_EquipmentImage.Size = new Size((int)(pb_EquipmentImage.Size.Width * 1.1), (int)(pb_EquipmentImage.Size.Height * 1.1));
      

  3.   

    Image image = global::TestGraphic.Properties.Resources.niang;   
                gc.DrawImage(image, new Rectangle(400, 20, 300, 300));   一个按钮只能不断扩大
    或者不断缩小你在原始的Size大小上乘以一个倍速 使用 gc.DrawImage
    这个方法 来绘制  必须在窗体的Paint函数里面绘制