資源簡介
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個文件信息
評論
共有 條評論