目标:实现图片放大缩小和移动

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.Drawing.Imaging;
using System.IO;
using System.Reflection;namespace 图片放大缩小
{public partial class Form1 : Form{int xPos;int yPos;bool MoveFlag;public Form1(){InitializeComponent();this.MouseWheel += new MouseEventHandler(MainForm_MouseWheel);}byte[] picturebytes;Bitmap bmap;private void Button1_Click(object sender, EventArgs e){openFileDialog1.Filter = "所有图片文件(*.bmp/*.jpg/*.gif)|*.*|Jpeg 文件(*.jpg)|*.jpg|Bitmap 文件(*.bmp)|*.bmp|gif 文件(*.gif)|*.gif";if (openFileDialog1.ShowDialog() == DialogResult.OK){string fullpath = openFileDialog1.FileName;//文件路径System.IO.FileStream fs = new FileStream(fullpath, FileMode.Open);picturebytes = new byte[fs.Length];BinaryReader br = new BinaryReader(fs);picturebytes = br.ReadBytes(Convert.ToInt32(fs.Length));MemoryStream ms = new MemoryStream(picturebytes);bmap = new Bitmap(ms);pictureBox1.Image = bmap;}else{MessageBox.Show("图片打开失败");}}private void PictureBox1_MouseDown(object sender, MouseEventArgs e){this.pictureBox1.Focus();MoveFlag = true;//已经按下.xPos = e.X;//当前x坐标.yPos = e.Y;//当前y坐标.}float Scale = 1;private void MainForm_MouseWheel(object sender, MouseEventArgs e){//    MessageBox.Show("滚动事件已被捕捉");//System.Drawing.Size t = bmap.Size;//t.Width += e.Delta;//t.Height += e.Delta;//bmap.Width = t.Width;//bmap.Height = t.Height;//bmap.Width= t.Width;//System.Drawing.Size t = pictureBox1.Size;//t.Width += e.Delta;//t.Height += e.Delta;//pictureBox1.Width = t.Width;//pictureBox1.Height = t.Height;if (e.Delta < 0){this.pictureBox1.Width = this.pictureBox1.Width * 9 / 10;this.pictureBox1.Height = this.pictureBox1.Height * 9 / 10;}else{this.pictureBox1.Width = this.pictureBox1.Width * 11 / 10;this.pictureBox1.Height = this.pictureBox1.Height * 11 / 10;}}private void PictureBox1_MouseUp(object sender, MouseEventArgs e){//鼠标已经抬起MoveFlag = false;}private void PictureBox1_MouseMove(object sender, MouseEventArgs e){if (MoveFlag){pictureBox1.Left += Convert.ToInt16(e.X - xPos);//设置x坐标.pictureBox1.Top += Convert.ToInt16(e.Y - yPos);//设置y坐标.}}private void Form1_Load(object sender, EventArgs e){}}
}

实现图片放大缩小和移动 C#相关推荐

  1. css3 图片放大缩小闪烁效果

    直接把图片替换就可以了,我的图片是透明的,所以body设置为黑色的,不不要可以去掉 <!doctype html> <html lang="en"> < ...

  2. vue项目 一行js代码搞定点击图片放大缩小

    一行js代码搞定xue项目需要点击图片放大缩小,其实主要用的是用到了vue:class的动态切换,内容比较简单.一开始我把维护的需求想得太复杂了,和测试小姐姐聊了一下才反应过来. 两个月不到跟了四个项 ...

  3. 图片放大缩小旋转左移右移镜像倒影android

    图片放大缩小旋转左移右移镜像倒影 demo: TestImage 1. 将 meinv.jpg 图片拷贝到以下目录TestImage\app\src\main\res\mipmap-hdpi 1.An ...

  4. iphone iPhone开发中如何将制作图片放大缩小代码实现案例

    1:原文摘自:http://mobile.51cto.com/iphone-285108.htm iPhone开发中如何将制作图片放大缩小案例是本文要介绍的内容,主要是来学习iphone开发中动画的制 ...

  5. 点击图片放大缩小功能

    1.点击图片放大缩小的思路 图片部分: <table><div><img style="width:62px;height:83px;display:block ...

  6. imageView图片放大缩小及旋转

    imageView图片放大缩小及旋转 一.简介 二.方法 1)设置图片放大缩小效果 第一步:将<ImageView>标签中的android:scaleType设置为"fitCen ...

  7. html如何控制图片自动放缩,如何用js控制图片放大缩小

    js控制图片放大缩小的效果,可以通过JavaScript的width和height属性来实现.其属性可以实现按比例放大和缩小图像尺寸的功能. 在前面的文章中,也为大家介绍了JS获取图片当前宽高和JS获 ...

  8. 移动端查看预览图片放大缩小

    方法一 之前介绍过一款 移动端vue适用的插件大全 https://blog.csdn.net/MtangEr/article/details/85339092 里边有一篇是查看图片放大缩小的 htt ...

  9. 【Axure交互教程】滑块控制图片放大缩小效果

    作品名称:滑块控制图片放大缩小效果 作品编号:Case007 软件版本:Axure9 作品类型:交互案例 原型预览链接(附源文件下载链接):http://daisyaxure.com/demo/Cas ...

  10. Android实现图片放大缩小

    蓝蓝的天 蓝蓝的天,白云朵朵. White clouds in the blue sky. 目录视图 摘要视图 订阅 新版极客头条上线,每天一大波干货     任玉刚:Android开发者的职场规划  ...

最新文章

  1. 立体显示与BCN双稳态手性向列相
  2. 【Groovy】MOP 元对象协议与元编程 ( 使用 Groovy 元编程进行函数拦截 | 重写 MetaClass#invokeMethod 方法拦截 JDK 中已经定义的函数 )
  3. 学习几个“××在内存中占几份”的若干问题
  4. Java面向对象part1
  5. Java 9中什么是私有的?
  6. 将大型项目从Ant迁移到Maven
  7. radmin提示授权码过期_IdentityServer4 客户端授权模式(Client Credentials)
  8. 可盈可乐未能连接到服务器,CoinCola可盈可乐 场外OTC平台使用方法
  9. Maven : JsonMappingException: Incompatible Jackson version: 2.9.5
  10. python安装库pandas_安装python的第三方库 geopandas
  11. Spring AOP的日志记录
  12. Enum定义位域, 即可以通过位操作来产生未命名的值
  13. 基于WinForm开发的Ribbon界面案例的扩展
  14. 一文看懂P2P原理及UDP穿透
  15. hive分隔符_Hive表字段、行、map默认分隔符
  16. 共读四步法:看见正向核心的力量—欣赏式探询共读会
  17. 元旦节快乐,新的一年新的福利,给大家准备了高清无码的白虎图
  18. 【OCR】文本检测方案 TextFuseNet解读
  19. “世界杰出女科学家成就奖”组委会宣布2021年度五位获奖者
  20. 三天让车跑起来!stm32循迹车 —— 第一天:基本模块使用方法

热门文章

  1. 北漂程序员,扬帆起航的地方
  2. CSDN社区投诉申请表
  3. Touch_GUI(基于STM32触摸屏)
  4. 涉密信息系统口令管理制度
  5. JAVA 生成数据表图标LOGO二维码
  6. ButterKnife使用插件
  7. 京东科技大幅度调整,这驾“马车”能否走到赴港上市?
  8. ASP.NET Web程序设计——三层架构简介
  9. 算法设计与分析 实验七 投资问题
  10. jQuery Mobile 入门