窗体如下:
具体代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
namespace Medical.PEIS.UI.BusinessUI
{
public partial class TuPianYL : Form
{
Bitmap myBmp;
Point mouseDownPoint = new Point(); //记录拖拽过程鼠标位置
bool isMove = false; //判断鼠标在picturebox上移动时,是否处于拖拽过程(鼠标左键是否按下)
int zoomStep = 60; //缩放步长
public TuPianYL()
{
InitializeComponent();
}
#region 图片加载(第一种方式)
public TuPianYL(string TP, bool FTP)
{
InitializeComponent();
if (FTP == true)
{
pictureBox1.LoadAsync(TP);
}
else
{
pictureBox1.Load(TP);
}
myBmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
pictureBox1.Image = myBmp;
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; //设置picturebox为缩放模式
}
#endregion
#region 图片加载(第二种方式)
//图片上传
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;
}
pictureBox1.Image = myBmp;
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; //设置picturebox为缩放模式
pictureBox1.Width = myBmp.Width;
pictureBox1.Height = myBmp.Height;
}
#endregion
#region 鼠标滚轮滚动功能