资源简介
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个文件信息
评论
共有 条评论