C#,一种简单的方式实现滚动鼠标缩放图片,平移
1、缩放
private void ImageShow_Load(object sender, EventArgs e){pictureBox1.Load(@"E:\SQ1.jpg");pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;pictureBox1.Dock = DockStyle.None;}private void pictureBox1_MouseEnter(object sender, EventArgs e){pictureBox1.Focus();pictureBox1.Cursor = Cursors.SizeAll;}/// <summary>/// 放大,缩小图片/// </summary>/// <param name="sender"></param>/// <param name="e"></param>void pictureBox1_MouseWheel(object sender, MouseEventArgs e){int i = e.Delta * SystemInformation.MouseWheelScrollLines / 5;pictureBox1.Width = pictureBox1.Width + i;//增加picturebox的宽度pictureBox1.Height = pictureBox1.Height + i;pictureBox1.Left = pictureBox1.Left - i / 2;//使picturebox的中心位于窗体的中心pictureBox1.Top = pictureBox1.Top - i / 2;//进而缩放时图片也位于窗体的中心}
2、平移
private void pictureBox1_MouseDown(object sender, MouseEventArgs e){if (e.Button == MouseButtons.Left){mouseDownPoint.X = Cursor.Position.X; //注:全局变量mouseDownPoint前面已定义为Point类型 mouseDownPoint.Y = Cursor.Position.Y;isSelected = true;} }private void pictureBox1_MouseMove(object sender, MouseEventArgs e){if (isSelected && IsMouseInPanel())//确定已经激发MouseDown事件,和鼠标在picturebox的范围内 {this.pictureBox1.Left = this.pictureBox1.Left + (Cursor.Position.X - mouseDownPoint.X);this.pictureBox1.Top = this.pictureBox1.Top + (Cursor.Position.Y - mouseDownPoint.Y);mouseDownPoint.X = Cursor.Position.X;mouseDownPoint.Y = Cursor.Position.Y;} }private bool IsMouseInPanel(){if (this.pan_picture.Left < PointToClient(Cursor.Position).X && PointToClient(Cursor.Position).X < this.pan_picture.Left + this.pan_picture.Width && this.pan_picture.Top < PointToClient(Cursor.Position).Y && PointToClient(Cursor.Position).Y < this.pan_picture.Top + this.pan_picture.Height){return true;}else{return false;}}private void pictureBox1_MouseUp(object sender, MouseEventArgs e){isSelected = false;}
转载于:https://www.cnblogs.com/jinqier/p/3497201.html
C#,一种简单的方式实现滚动鼠标缩放图片,平移相关推荐
- 简单NLP分析套路(1)----语料库积累之3种简单爬虫方式应对大部分网站
目录 近期听课的思考 语料库的记录 3种爬虫 urllib.request + BeautifulSoup scrapy 与xpath 使用selenium 模拟浏览器行为 新的改变 相关链接 未完待 ...
- jquery 点击图片放大,带上下一张,可通过滚动鼠标进行图片缩放
<?php /*** Created by PhpStorm.* User: 28010* Date: 2022/1/17* Time: 13:50*** 1.这里图片的数据是从数据库里面查询取 ...
- golang 切片的三种简单使用方式及区别
概念 切片(slice)是建立在数组之上的更方便,更灵活,更强大的数据结构.切片并不存储任何元素而只是对现有数组的引用. 三种方式及细节案例 ①定义一个切片,然后让切片去引用一个已经创建好的数组 pa ...
- Golang切片的三种简单使用方式及区别
概念 切片(slice)是建立在数组之上的更方便,更灵活,更强大的数据结构.切片并不存储任何元素而只是对现有数组的引用. 三种方式及细节案例 ①定义一个切片,然后让切片去引用一个已经创建好的数组 pa ...
- java怎么倒计时_详解java倒计时三种简单实现方式
写完js倒计时,突然想用java实现倒计时,写了三种实现方式 一:设置时长的倒计时: 二:设置时间戳的倒计时: 三:使用java.util.Timer类实现的时间戳倒计时 代码如下: package ...
- 图片切换的一种简单的方式
前不久我的一个朋友想要我帮他写一个图片切换的样式,我就随便从网上下下载了一个模版,结果里面的图片切换是需要js调用的,最坑的是js还加了密!没办法,还是自己老老实实写吧! 分享给大家,以后用这种吧,简 ...
- 关于HTML几种简单布局方式
文章目录 前言 RelatedWords(本章单词) 一.响应式布局(Responsive layout) 1.响应式布局是什么? 2.怎么使用响应式? (1).弃用px改用em或%为单位 (2).使 ...
- python爬虫爬取图片代码_Python爬虫入门:批量爬取网上图片的两种简单实现方式——基于urllib与requests...
Python到底多强大,绝对超乎菜鸟们(当然也包括我了)的想象.近期我接触到了爬虫,被小小地震撼一下.总体的感觉就两个词--"强大"和"有趣".今天就跟大家分享 ...
- python爬虫快速下载图片_Python爬虫入门:批量爬取网上图片的两种简单实现方式——基于urllib与requests...
Python到底多强大,绝对超乎菜鸟们(当然也包括我了)的想象.近期我接触到了爬虫,被小小地震撼一下.总体的感觉就两个词--"强大"和"有趣".今天就跟大家分享 ...
最新文章
- 打通B/S与C/S !让HTML5 WebSocket与.NET Socket公用同一个服务端!
- MultiRow发现之旅(六)- 使用MultiRow开发票据应用(附源码)
- C#进阶系列——WebApi 跨域问题解决方案:CORS
- java读书心得_Java读书笔记 20100815
- ADO.NET Entity Framework -Code Fisrt (二)
- 谷歌离线地图Api附获取教程
- html输入完账号密码才能跳转,HTML输入字段跳转
- 立即执行函数(IIFE)闭包
- 知物由学 |“网状世界”下,无处可逃的信息安全
- python交互式方式、代码文件方式_涨见识了,在终端执行 Python 代码的 6 种方式
- Noip模拟题解题报告
- CTF--Do you like xml
- EH集团筹集逾500万瑞士法郎,用于推进其零排放燃料电池技术
- web课程设计网页制作、基于HTML+CSS大学校园班级网页设计
- 康考迪亚计算机科学需要gre吗,康考迪亚大学研究生院化学工具专业录取条件
- 搞一下整车以太网技术 | 04 CBS基于信用整形
- 【解决方案】如何搭建运动场体育赛事直播方案:EasyCVR综合智能化体育赛事直播
- 在STM32上实现NTFS之4:GPT分区表的C语言实现(1):主GPT表头的实现
- 【自然语言处理】【多模态】BLIP:面向统一视觉语言理解和生成的自举语言图像预训练
- 力扣算法学习计划打卡:第一天