C#实现图片放大、缩小、移动

    近期写程序需要一个图片放大、缩小和移动的功能,上网查找参考了一些热心网友的资料,再结合自己的实际需要,写了一个class,用于直接在新窗口中显示、放大、缩小、保存图片的功能,这样的话以后使用的时候可以直接调用,代码记录如下:

    引用:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;
using System.IO;

    其余代码:

    /// <summary>
    /// 用于显示图片,提供放大、缩小、移动、保存图片的功能
    /// </summary>
    class FK_ShowImg
    {
        Form F = new Form();
        PictureBox pictureBox = new PictureBox();
        int xPos;
        int yPos;
        bool MoveFlag;
        public void ShowImg(Bitmap bmp)
        {
            #region 定义FORM的基本属性
            F.Show();
            F.Text = "显示图片";
            F.Width = 1024;
            F.Height = 768;
            #endregion

            #region 创建菜单
            MenuStrip MS = new MenuStrip();
            ToolStripMenuItem tsmi = new ToolStripMenuItem("文件");
            //tsmi.Click += DemoClick;
            ToolStripMenuItem tsmi2 = new ToolStripMenuItem("图片另存为");
            tsmi2.Click += saveIMG;
            tsmi.DropDownItems.Add(tsmi2);
            MS.Items.Add(tsmi);
            F.Controls.Add(MS);
            #endregion

            #region 显示图片
            pictureBox.Image = bmp;
            pictureBox.MouseWheel += F_MouseWheel;   
            F.MouseWheel += F_MouseWheel;           
            pictureBox.MouseMove += F_MouseMove;   
            pictureBox.MouseDown += F_MouseDown;
            pictureBox.MouseUp += F_MouseUp;
            pictureBox.SizeMode = PictureBoxSizeMode.StretchImage;
            pictureBox.Width = 800;
            pictureBox.Height = 600;
            //图片居中
            pictureBox.Top = (F.ClientRectangle.Height - pictureBox.Height) / 2;
            pictureBox.Left = (F.ClientRectangle.Width - pictureBox.Width) / 2;
            F.Controls.Add(pictureBox); 
            #endregion

        }

        PRivate void F_MouseUp(object sender, MouseEventArgs e)
        {
            //throw new NotImplementedException();
            //鼠标已经抬起
            MoveFlag = false;
        }

        private void F_MouseDown(object sender, MouseEventArgs e)
        {
            //throw new NotImplementedException();

            this.pictureBox.Focus();
            MoveFlag = true;//已经按下.
            xPos = e.X;//当前x坐标.
            yPos = e.Y;//当前y坐标.
        }

        private void F_MouseMove(object sender, MouseEventArgs e)
        {
            //throw new NotImplementedException();
            //只在鼠标按下时绘制移动
            if (MoveFlag)
            {
                pictureBox.Left += Convert.ToInt16(e.X - xPos);//设置x坐标.
                pictureBox.Top += Convert.ToInt16(e.Y - yPos);//设置y坐标.
            }
        }

        //自己定义个保存图片的动作
        private void saveIMG(object sender, EventArgs e)
        {
            SaveFileDialog saveFileDialog = new SaveFileDialog();
            saveFileDialog.Filter = "Jpg 图片|*.jpg|Bmp 图片|*.bmp|Gif 图片|*.gif|Png 图片|*.png|Wmf  图片|*.wmf";
            saveFileDialog.FilterIndex = 0;
            if (pictureBox.Image == null)
            {
                MessageBox.Show("没有预览图片!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                if (pictureBox.Image != null)
                {
                    pictureBox.Image.Save(saveFileDialog.FileName, System.Drawing.Imaging.ImageFormat.Jpeg);
                }
            }
        }

        private void F_MouseWheel(object sender, MouseEventArgs e)
        {
            //判断上滑还是下滑
            if (e.Delta < 0)
            {
                //计算缩放大小
                this.pictureBox.Width = this.pictureBox.Width * 9 / 10;
                this.pictureBox.Height = this.pictureBox.Height * 9 / 10;
            }
            else
            {
                this.pictureBox.Width = this.pictureBox.Width * 11 / 10;
                this.pictureBox.Height = this.pictureBox.Height * 11 / 10;

            }
        }


    }

主程序中直接使用时:

FK_ShowImg F = new FK_ShowImg();
Bitmap bmp = (Bitmap)Bitmap.FromFile(@"D:\temp\test.png"); 
F.ShowImg(bmp);

结果显示如下:

  • 评论列表:
  •  访客
     发布于 2021-08-07 09:23:23  回复
  • 感谢分享
  •  游客
     发布于 2024-07-21 21:19:25  回复
  • 楼主是男的还是女的?http://528.jhainews.com
  •  游客
     发布于 2024-07-21 23:57:27  回复
  • 怎么我回帖都没人理我呢?http://q8469.zd8839.com/2/4.html
  •  游客
     发布于 2024-07-22 04:36:00  回复
  • 楼主好聪明啊!http://p4xja.kintopled.com
  •  游客
     发布于 2024-07-22 04:56:07  回复
  • 青春不在了,青春痘还在!http://4ylx2f.234en.com
  •  游客
     发布于 2024-07-22 05:26:33  回复
  • 赞一个!http://ykb6.fjshsywz.com
  •  游客
     发布于 2024-07-22 08:25:34  回复
  • 今天怎么了,什么人都出来了!http://rwmyn.aabaopay.com/2024/4.html
  •  游客
     发布于 2024-07-22 09:28:41  回复
  • 很经典,收藏了!http://mj-life.cn/295526.html
  •  游客
     发布于 2024-07-22 09:41:04  回复
  • 楼主好聪明啊!http://1yp.zhyifan.com
  •  游客
     发布于 2024-07-22 15:53:16  回复
  • 怪事年年有,今年特别多!http://5twm1.italyls.com/2/3.html
  •  游客
     发布于 2024-07-22 20:48:16  回复
  • 楼上的别说的那么悲观好吧!http://www.dnf70.com/1894.html
  •  游客
     发布于 2024-07-22 21:43:30  回复
  • 宇宙第一贴诞生了!http://n04p.news.ycscjrlhh.org.cn
  •  游客
     发布于 2024-07-22 22:06:20  回复
  • 强,我和我的小伙伴们都惊呆了!http://www.a5km.com/yxgl/dnf/23769.html
  •  游客
     发布于 2024-07-22 22:24:10  回复
  • 顶一个!http://www.a5km.com/yxgl/jdqs/28785.html
  •  游客
     发布于 2024-07-22 23:18:57  回复
  • 坚持回帖!http://www.a5km.com/wzjc/dnfkm/26013.html
  •  游客
     发布于 2024-07-23 00:03:28  回复
  • 收藏了,以后可能会用到!http://www.a5km.com/yxgl/jdqs/28324.html
  •  游客
     发布于 2024-07-23 00:17:59  回复
  • 楼主好聪明啊!http://www.dnf70.com/2490.html
  •  游客
     发布于 2024-07-23 00:39:20  回复
  • 关注一下!http://www.dnf70.com/2664.html
  •  游客
     发布于 2024-07-23 00:44:18  回复
  • 楼上的别说的那么悲观好吧!http://www.dnf70.com/2954.html
  •  游客
     发布于 2024-07-23 01:26:26  回复
  • 好东西,赞一个!http://www.a5km.com/yxgl/jdqs/28916.html
  •  游客
     发布于 2024-07-23 02:55:48  回复
  • 楼主的头像是本人吗?http://www.a5km.com/yxgl/jdqs/28282.html
  •  游客
     发布于 2024-07-23 03:19:31  回复
  • 看在楼主的面子上,认真回帖!http://blog.ycscjrlhh.org.cn/294759.html
  •  游客
     发布于 2024-07-23 03:51:01  回复
  • 精华帖的节奏啊!http://www.dnf70.com/2263.html
  •  游客
     发布于 2024-07-23 03:57:08  回复
  • 楼主是好人!http://www.dnf70.com/2263.html
  •  游客
     发布于 2024-07-23 05:08:43  回复
  • 内容很有深度!http://www.a5km.com/yxgl/jdqs/26593.html
  •  游客
     发布于 2024-07-23 05:09:30  回复
  • 楼主是男的还是女的?http://www.a5km.com/yxgl/dnf/22625.html
  •  游客
     发布于 2024-07-23 06:41:28  回复
  • 好好学习楼主的帖子!http://www.a5km.com/yxgl/jdqs/28173.html
  •  游客
     发布于 2024-07-23 07:18:26  回复
  • 这个帖子会火的,鉴定完毕!http://www.a5km.com/yxgl/jdqs/28364.html
  •  游客
     发布于 2024-07-23 07:18:54  回复
  • 楼上的心情不错啊!http://www.dnf70.com/332.html
  •  游客
     发布于 2024-07-23 07:21:09  回复
  • 顶一个!http://www.a5km.com/yxgl/jdqs/28588.html
  •  游客
     发布于 2024-07-23 07:26:18  回复
  • 没人理我,好伤心啊!http://q7752.france-photos.com
  •  游客
     发布于 2024-07-23 07:42:25  回复
  • 楼主说的我也略懂!http://1et2.wsxjs.com
  •  游客
     发布于 2024-07-23 09:46:50  回复
  • 很有看点!http://4nehw.jianglichanpin.com/21/3.html
  •  游客
     发布于 2024-07-23 10:18:53  回复
  • 收藏了,以后可能会用到!http://www.a5km.com/wzjc/jdqskm/25829.html
  •  游客
     发布于 2024-07-23 10:21:11  回复
  • 楼主主机很热情啊!http://www.a5km.com/yxgl/jdqs/27588.html
  •  游客
     发布于 2024-07-23 12:32:53  回复
  • 今天怎么了,什么人都出来了!http://www.dnf70.com/971.html
  •  游客
     发布于 2024-07-23 13:05:10  回复
  • 顶一个!http://www.dnf70.com/1082.html
  •  游客
     发布于 2024-07-23 13:20:23  回复
  • 强,我和我的小伙伴们都惊呆了!http://www.a5km.com/yxgl/jdqs/27297.html
  •  游客
     发布于 2024-07-23 13:20:25  回复
  • 看在楼主的面子上,认真回帖!http://www.a5km.com/yxgl/dnf/23677.html
  •  游客
     发布于 2024-07-23 14:09:43  回复
  • 楼上的说的很多!http://www.a5km.com/yxgl/jdqs/28098.html
  •  游客
     发布于 2024-07-23 16:22:56  回复
  • 太高深了,理解力不够用了!http://ad9rw.mbrmwsclsb.com/J/3.html
  •  游客
     发布于 2024-07-23 16:59:31  回复
  • 支持楼上的!http://www.a5km.com/yxgl/dnf/25653.html
  •  游客
     发布于 2024-07-23 17:19:21  回复
  • 勤奋灌水,天天向上!http://www.a5km.com/yxgl/jdqs/29141.html
  •  游客
     发布于 2024-07-23 17:38:27  回复
  • 楼主该去看心理医生了!http://www.a5km.com/yxgl/jdqs/29141.html
  •  游客
     发布于 2024-07-23 17:59:19  回复
  • 宇宙第一贴诞生了!http://www.a5km.com/yxgl/dnf/22924.html
  •  游客
     发布于 2024-07-23 18:45:22  回复
  • 今天过得很不爽!http://9ltnv.szplejg.com/i/4.html
  •  游客
     发布于 2024-07-23 19:27:57  回复
  • 好好学习楼主的帖子!http://www.a5km.com/yxgl/jdqs/28496.html
  •  游客
     发布于 2024-07-23 19:57:32  回复
  • 你觉得该怎么做呢?http://www.a5km.com/yxgl/jdqs/27158.html
  •  游客
     发布于 2024-07-23 20:21:07  回复
  • 好好学习楼主的帖子!http://k27pf8.3xyq.com
  •  游客
     发布于 2024-07-23 21:12:49  回复
  • 楼主是我最崇拜的人!http://www.a5km.com/wzjc/dnfkm/26318.html
  •  游客
     发布于 2024-07-23 21:47:52  回复
  • 楼主发几张靓照啊!http://nnkx.top/news/22f099284.html
  •  游客
     发布于 2024-07-23 22:02:17  回复
  • 投楼主一票,不用谢哦!http://www.dnf70.com/3050.html
  •  游客
     发布于 2024-07-23 22:40:32  回复
  • 我对楼主的敬仰犹如滔滔江水绵延不绝!http://agsz6.cgbs001.com/43/5.html
  •  游客
     发布于 2024-07-24 00:32:46  回复
  • 楼上的说的很多!http://www.dnf70.com/3050.html
  •  游客
     发布于 2024-07-24 02:29:27  回复
  • 楼主加油,看好你哦!http://www.a5km.com/yxgl/dnf/22340.html
  •  游客
     发布于 2024-07-24 02:47:05  回复
  • 缺乏激情了!http://www.a5km.com/yxgl/dnf/21917.html
  •  游客
     发布于 2024-07-24 02:54:28  回复
  • 楼主很有激情啊!http://www.a5km.com/yxgl/jdqs/28763.html
  •  游客
     发布于 2024-07-24 03:34:50  回复
  • 这个帖子好无聊啊!http://www.a5km.com/yxgl/jdqs/28084.html
  •  游客
     发布于 2024-07-24 03:55:26  回复
  • 我默默的回帖,从不声张!http://id2e2.checheche1.com/07/5.html
  •  游客
     发布于 2024-07-24 05:38:20  回复
  • 太邪乎了吧?http://www.a5km.com/yxgl/dnf/25778.html
  •  游客
     发布于 2024-07-24 06:33:21  回复
  • 今天怎么了,什么人都出来了!http://www.dnf70.com/854.html
  •  游客
     发布于 2024-07-24 07:07:18  回复
  • 有内涵!http://blog.mj-life.cn/245559.html
  •  游客
     发布于 2024-07-24 08:19:41  回复
  • 今天是个特别的日子,值得纪念!http://www.a5km.com/wzjc/dnfkm/26271.html
  •  游客
     发布于 2024-07-24 08:24:23  回复
  • 我回帖楼主给加积分吗?http://www.a5km.com/yxgl/dnf/25258.html
  •  游客
     发布于 2024-07-24 08:40:34  回复
  • 论坛的帖子越来越有深度了!http://d96md.yyy74.com/x/3.html
  •  游客
     发布于 2024-07-24 08:41:37  回复
  • 宇宙第一贴诞生了!http://www.a5km.com/yxgl/jdqs/28309.html
  •  游客
     发布于 2024-07-24 10:15:40  回复
  • 我裤子脱了,纸都准备好了,你就给我看这个?http://15ge0.elmundoesmioficina.com/u/4.html
  •  游客
     发布于 2024-07-24 10:46:51  回复
  • 楼主很有艺术范!http://www.a5km.com/yxgl/dnf/22305.html
  •  游客
     发布于 2024-07-24 11:09:41  回复
  • 论坛的帖子越来越有深度了!http://z6udy.875648.com/11/2.html
  •  游客
     发布于 2024-07-24 11:40:17  回复
  • 网页的加载速度非常快,不会影响用户体验。http://www.a5km.com/yxgl/dnf/26923.html
  •  游客
     发布于 2024-07-24 12:37:41  回复
  • 楼主练了葵花宝典吧?http://www.dnf70.com/1941.html
  •  游客
     发布于 2024-07-24 13:15:13  回复
  • 楼主你想太多了!http://pr1y.hztovi8.com
  •  游客
     发布于 2024-07-24 13:40:38  回复
  • 看帖回帖一条路!http://www.dnf70.com/2937.html
  •  游客
     发布于 2024-07-24 13:46:41  回复
  • 论坛的人气不行了!http://m.ycscjrlhh.org.cn/417665.html
  •  游客
     发布于 2024-07-24 14:03:54  回复
  • 支持一下!http://www.a5km.com/yxgl/dnf/22999.html
  •  游客
     发布于 2024-07-24 14:04:40  回复
  • 不错哦,楼主这是要火的节奏啊!http://5iqzg.gtfhflc.com
  •  游客
     发布于 2024-07-24 14:14:27  回复
  • 好东西,赞一个!http://www.a5km.com/yxgl/25110.html
  •  游客
     发布于 2024-07-24 15:17:50  回复
  • 十分赞同楼主!http://www.a5km.com/yxgl/dnf/24469.html
  •  游客
     发布于 2024-07-24 15:19:13  回复
  • 终于看完了,很不错!http://www.a5km.com/yxgl/dnf/25618.html
  •  游客
     发布于 2024-07-24 15:59:51  回复
  • 看帖回帖一条路!http://www.a5km.com/yxgl/jdqs/28733.html
  •  游客
     发布于 2024-07-24 16:32:29  回复
  • 我默默的回帖,从不声张!http://1etqx.themonkey.com.cn
  •  游客
     发布于 2024-07-24 17:06:54  回复
  • 态度决定一切,不错!http://vo5bp.shoujusuoye.com/21/4.html
  •  游客
     发布于 2024-07-24 17:53:11  回复
  • 祖国尚未统一,我却天天灌水,好内疚!http://www.a5km.com/yxgl/dnf/26838.html
  •  游客
     发布于 2024-07-24 18:29:00  回复
  • 林子大了,什么鸟都有了啊!http://www.a5km.com/yxgl/dnf/23995.html
  •  游客
     发布于 2024-07-24 20:22:05  回复
  • 不是惊喜,是惊吓!http://blog.mj-life.cn/093644.html
  •  游客
     发布于 2024-07-24 21:01:15  回复
  • 以后要跟楼主好好学习学习!http://www.a5km.com/yxgl/dnf/23617.html
  •  游客
     发布于 2024-07-24 21:58:58  回复
  • 这里的资源非常丰富,帮助我解决了很多问题。http://www.a5km.com/yxgl/jdqs/28672.html
  •  游客
     发布于 2024-07-24 22:12:25  回复
  • 文章论点明确,论据充分,说服力强。http://www.a5km.com/yxgl/24988.html
  •  游客
     发布于 2024-07-24 22:16:52  回复
  • 论坛的帖子越来越有深度了!http://www.a5km.com/yxgl/dnf/24093.html
  •  游客
     发布于 2024-07-24 22:17:01  回复
  • 学习雷锋,好好回帖!http://www.a5km.com/yxgl/dnf/26799.html
  •  游客
     发布于 2024-07-24 22:34:02  回复
  • 论坛人气好旺!http://www.a5km.com/wzjc/jdqskm/25968.html
  •  游客
     发布于 2024-07-24 22:38:34  回复
  • 好东西,赞一个!http://uk6.roodon.com
  •  游客
     发布于 2024-07-25 01:14:22  回复
  • 楼上的别说的那么悲观好吧!http://bagsg.golflyg.com
  •  游客
     发布于 2024-07-25 01:42:57  回复
  • 管它三七二十一!http://www.a5km.com/wzjc/jdqskm/26007.html
  •  游客
     发布于 2024-07-25 02:33:17  回复
  • 强,我和我的小伙伴们都惊呆了!http://www.a5km.com/yxgl/jdqs/29217.html
  •  游客
     发布于 2024-07-25 02:42:52  回复
  • 不错哦,楼主这是要火的节奏啊!http://www.dnf70.com/1537.html
  •  游客
     发布于 2024-07-25 02:56:33  回复
  • 今天怎么了,什么人都出来了!http://www.dnf70.com/2258.html
  •  游客
     发布于 2024-07-25 03:23:10  回复
  • 支持一下,下面的保持队形!http://www.dnf70.com/3069.html
  •  游客
     发布于 2024-07-25 04:31:31  回复
  • 世界末日我都挺过去了,看到楼主我才知道为什么上帝留我到现在!http://85uxz.xlswm.com
  •  游客
     发布于 2024-07-25 05:32:29  回复
  • 大神好强大!http://fireflowy.com/news/54e099252.html

添加回复:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。