C#实现放大镜

winform实现一个跟随鼠标移动放大功能

实现步骤:

1、创建一个Form1,一个计时器timer1和一个图片显示控件pictureBox1

2、核心代码

          int magnification = 2;//倍率,调节放大倍数,可由TrackBar控制调节    
          int mx;                 //鼠标x坐标
          int my;                 //鼠标y坐标
          const int imgWidth = 500;//放大后图片的宽度
          const int imgHeight = 400;//放大后图片的高度
  
          //对定时器添加Tick事件,并设置Enabled为True
          private void timer1_Tick(object sender, EventArgs e)
          {            
             mx = Control.MousePosition.X;
             my = Control.MousePosition.Y;
        //对图像进行放大显示         
             Bitmap bt = new Bitmap(imgWidth / magnification, imgHeight / magnification);
             Graphics g = Graphics.FromImage(bt);
             g.CopyFromScreen(
new Point(Cursor.Position.X - imgWidth / (2*magnification),
Cursor.Position.Y - imgHeight / (2*magnification)),
new Point(0, 0),
new Size(imgWidth / magnification, imgHeight / magnification)); IntPtr dc1 = g.GetHdc(); g.ReleaseHdc(dc1); pictureBox1.Image = (Image)bt; }

 

转载于:https://www.cnblogs.com/qiantao/p/9607046.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值