C#点击事件缩放图片

// skinPictureBox16是否放大
public bool fullscreenSkinPictureBox16 = false;

 /// <summary>
 /// skinPictureBox16点击事件:点击后图片放大或缩小
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void skinPictureBoxFullscreen_Click(object sender, EventArgs e)
 {
     // 获取当前SkinPictureBox
     SkinPictureBox skinPictureBox = (SkinPictureBox)sender;

     fullscreenSkinPictureBox16 = !fullscreenSkinPictureBox16;//循环。点一次全屏,再点还原。   
     if (fullscreenSkinPictureBox16)
     {
         label35.Visible = false;
         label98.Visible = false;

         if ("skinPictureBox16".Equals(skinPictureBox.Name))
         {
             skinPictureBox15.Visible = false;
             skinPictureBox7.Visible = false;
             skinPictureBox17.Visible = false;
             // 放大skinPictureBox16所在的容器skinPanel23为所在窗体大小
             skinPanel23.Dock = DockStyle.Fill;
             // 放大skinPictureBox16
             skinPictureBox16.Dock = DockStyle.Fill;
         }
         else if("skinPictureBox15".Equals(skinPictureBox.Name))
         {
             skinPictureBox16.Visible = false;
             skinPictureBox7.Visible = false;
             skinPictureBox17.Visible = false;
             skinPanel24.Dock = DockStyle.Fill;
             skinPictureBox15.Dock = DockStyle.Fill;
         }
         else if ("skinPictureBox7".Equals(skinPictureBox.Name))
         {
             skinPictureBox16.Visible = false;
             skinPictureBox15.Visible = false;
             skinPictureBox17.Visible = false;
             skinPanel25.Dock = DockStyle.Fill;
             skinPictureBox7.Dock = DockStyle.Fill;
         }
         else if ("skinPictureBox17".Equals(skinPictureBox.Name))
         {
             skinPictureBox16.Visible = false;
             skinPictureBox15.Visible = false;
             skinPictureBox7.Visible = false;
             skinPanel26.Dock = DockStyle.Fill;
             skinPictureBox17.Dock = DockStyle.Fill;
         }
     }
     else
     {
         label35.Visible = true;
         label98.Visible = true;

         if ("skinPictureBox16".Equals(skinPictureBox.Name))
         {
             skinPictureBox15.Visible = true;
             skinPictureBox7.Visible = true;
             skinPictureBox17.Visible = true;
             // 缩小为原来大小
             skinPanel23.Dock = DockStyle.None;
             skinPictureBox16.Dock = DockStyle.None;
         }
         else if ("skinPictureBox15".Equals(skinPictureBox.Name))
         {
             skinPictureBox16.Visible = true;
             skinPictureBox7.Visible = true;
             skinPictureBox17.Visible = true;
             skinPanel24.Dock = DockStyle.None;
             skinPictureBox15.Dock = DockStyle.None;
         }
         else if ("skinPictureBox7".Equals(skinPictureBox.Name))
         {
             skinPictureBox16.Visible = true;
             skinPictureBox15.Visible = true;
             skinPictureBox17.Visible = true;
             skinPanel25.Dock = DockStyle.None;
             skinPictureBox7.Dock = DockStyle.None;
         }
         else if ("skinPictureBox17".Equals(skinPictureBox.Name))
         {
             skinPictureBox16.Visible = true;
             skinPictureBox15.Visible = true;
             skinPictureBox7.Visible = true;
             skinPanel26.Dock = DockStyle.None;
             skinPictureBox17.Dock = DockStyle.None;
         }
     }
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Microsoft Visual Studio 2010做的C#图片实例,主要代码: Image imageSource = bitmapSource; ImageFormat sourceFormat = imageSource.RawFormat; int iSourceWidth = imageSource.Width; int iSourceHeight = imageSource.Height; decimal decTargetWidth = iSourceWidth*decTimes; decTargetWidth = Math.Round(decTargetWidth, 0); string sTargetWidth = decTargetWidth.ToString( ); int iTargetWidth = Int32.Parse(sTargetWidth); decimal decTargetHeight = iSourceHeight * decTimes; decTargetHeight = Math.Round(decTargetHeight, 0); string sTargetHeight = decTargetHeight.ToString(); int iTargetHeight = Int32.Parse(sTargetHeight); Bitmap bitmapTarget = new Bitmap(iTargetWidth, iTargetHeight); Graphics gTarget = Graphics.FromImage(bitmapTarget); gTarget.Clear(Color.Transparent); // 设置画布的描绘质量 gTarget.CompositingQuality = CompositingQuality.HighQuality; gTarget.SmoothingMode = SmoothingMode.HighQuality; gTarget.InterpolationMode = InterpolationMode.HighQualityBicubic; gTarget.DrawImage(imageSource, new Rectangle(0, 0, iTargetWidth, iTargetHeight), 0, 0, imageSource.Width, imageSource.Height, GraphicsUnit.Pixel); gTarget.Dispose(); // 以下代码为保存图片时,设置压质量 EncoderParameters encoderParams = new EncoderParameters(); long[] lQualityS = new long[1]; lQualityS[0] = 100; EncoderParameter EncoderParameterVar = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, lQualityS); encoderParams.Param[0] = EncoderParameterVar; imageSource.Dispose();

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哎呦喂O_o嗨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值