• 大小: 58KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: C#
  • 标签: C#图像  

资源简介

C#实现图像拖拽、锚点缩放(以鼠标所指位置为中心缩放)。 原创代码,引用请注明出处。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using System.Reflection;

namespace 图像平移缩放
{
    public partial class Form1 : Form
    {
        Bitmap myBmp;
        Point mouseDownPoint = new Point(); //记录拖拽过程鼠标位置
        bool isMove = false;    //判断鼠标在picturebox上移动时,是否处于拖拽过程(鼠标左键是否按下)
        int zoomStep = 20;      //缩放步长

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender EventArgs e)
        {
            string filename = ““;
            OpenFileDialog dlg = new OpenFileDialog();
            dlg.Filter = “Tiff文件|*.tif|Bmp文件|*.bmp|Erdas img文件|*.img|EVNI文件|*.hdr|jpeg文件|*.jpg|raw文件|*.raw|vrt文件|*.vrt|所有文件|*.*“;
            dlg.FilterIndex = 8;
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                filename = dlg.FileName;
            }
            if (filename == ““)
            {
                return;
            }
            myBmp = new Bitmap(filename);
            if (myBmp == null)
            {
                MessageBox.Show(“读取失败“);
                return;
            }
            textBox1.Text = filename;
            pictureBox1.Image = myBmp;
            pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; //设置picturebox为缩放模式
            pictureBox1.Width = myBmp.Width;
            pictureBox1.Height = myBmp.Height;
        }

        private void pictureBox1_MouseDown(object sender MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                mouseDownPoint.X = Cursor.Position.X;
                mouseDownPoint.Y = Cursor.Position.Y;                
                isMove = true;
                pictureBox1.Focus();               
            }
        }

        private void pictureBox1_MouseUp(object sender MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                isMove = false;                
            }
        }

        private void pictureBox1_MouseMove(object sender MouseEventArgs e)
        {
            pictureBox1.Focus();
            if (isMove)
            {
                int x y;
                int moveX moveY;
                moveX = Cursor.Position.X - mouseDownPoint.X;
                moveY = Cursor.Position.Y - mouseDownPoint.Y;
                x = pictureBox1.Location.X + moveX;
                y = pictureBox1.Location.Y + moveY;                
                pictureBox1.Location = new Point(x y);
                mouseDownPoint.X = Cursor.Position.X;
                mouseDownPoint.Y = Cursor.Position.Y;                
            }
        }

        private void pictureBox1_MouseWheel(object sender MouseEventArgs e)
        {
            int x = e.Locat

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        187  2014-12-29 15:45  图像平移缩放\图像平移缩放\App.config

     文件      13824  2014-12-29 23:26  图像平移缩放\图像平移缩放\bin\Debug\图像平移缩放.exe

     文件        187  2014-12-29 15:45  图像平移缩放\图像平移缩放\bin\Debug\图像平移缩放.exe.config

     文件      36352  2014-12-29 23:26  图像平移缩放\图像平移缩放\bin\Debug\图像平移缩放.pdb

     文件      22984  2014-12-29 23:27  图像平移缩放\图像平移缩放\bin\Debug\图像平移缩放.vshost.exe

     文件        187  2014-12-29 15:45  图像平移缩放\图像平移缩放\bin\Debug\图像平移缩放.vshost.exe.config

     文件        490  2012-06-06 02:06  图像平移缩放\图像平移缩放\bin\Debug\图像平移缩放.vshost.exe.manifest

     文件       6217  2014-12-29 23:26  图像平移缩放\图像平移缩放\Form1.cs

     文件       7283  2014-12-29 23:26  图像平移缩放\图像平移缩放\Form1.Designer.cs

     文件       5817  2014-12-29 23:26  图像平移缩放\图像平移缩放\Form1.resx

     文件        851  2014-12-29 15:45  图像平移缩放\图像平移缩放\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       6955  2014-12-29 22:36  图像平移缩放\图像平移缩放\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件          0  2014-12-29 15:45  图像平移缩放\图像平移缩放\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs

     文件          0  2014-12-29 15:45  图像平移缩放\图像平移缩放\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs

     文件          0  2014-12-29 15:45  图像平移缩放\图像平移缩放\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs

     文件       2055  2014-12-29 23:27  图像平移缩放\图像平移缩放\obj\Debug\图像平移缩放.csproj.FileListAbsolute.txt

     文件        975  2014-12-29 23:26  图像平移缩放\图像平移缩放\obj\Debug\图像平移缩放.csproj.GenerateResource.Cache

     文件       2143  2014-12-29 15:59  图像平移缩放\图像平移缩放\obj\Debug\图像平移缩放.csprojResolveAssemblyReference.cache

     文件      13824  2014-12-29 23:26  图像平移缩放\图像平移缩放\obj\Debug\图像平移缩放.exe

     文件        180  2014-12-29 23:26  图像平移缩放\图像平移缩放\obj\Debug\图像平移缩放.Form1.resources

     文件      36352  2014-12-29 23:26  图像平移缩放\图像平移缩放\obj\Debug\图像平移缩放.pdb

     文件        180  2014-12-29 15:59  图像平移缩放\图像平移缩放\obj\Debug\图像平移缩放.Properties.Resources.resources

     文件        530  2014-12-29 15:45  图像平移缩放\图像平移缩放\Program.cs

     文件       1356  2014-12-29 15:45  图像平移缩放\图像平移缩放\Properties\AssemblyInfo.cs

     文件       2888  2014-12-29 15:45  图像平移缩放\图像平移缩放\Properties\Resources.Designer.cs

     文件       5612  2014-12-29 15:45  图像平移缩放\图像平移缩放\Properties\Resources.resx

     文件       1105  2014-12-29 15:45  图像平移缩放\图像平移缩放\Properties\Settings.Designer.cs

     文件        249  2014-12-29 15:45  图像平移缩放\图像平移缩放\Properties\Settings.settings

     文件       3815  2014-12-29 15:59  图像平移缩放\图像平移缩放\图像平移缩放.csproj

     文件        944  2014-12-29 15:45  图像平移缩放\图像平移缩放.sln

............此处省略12个文件信息

评论

共有 条评论