C#实现图片鼠标拖动和滚动缩放《新纹章之谜~光与影的英雄》图文攻略_源码


来这里分享个用C#实现图片鼠标拖动和滚动缩放(实例教程《新纹章之谜~光与影的英雄》图文攻略)的源码(附成品) 开发工具:VS2010 开发环境:.net 2.0 因本人只想要一个单文件的可执行文件,故所有图片都封装在一块并在操作时直接使用内存来存放图片这可能会在缩放对内存占用较多,可自行优化
资源截图
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;


namespace Picture2Game
{
    public partial class Form1 : Form
    {
        private static Image img_ori;           //初始Img
        private static int zoomtime = 0;        //缩放次数,负为缩小正为放大

        private Point mouseDownPoint = new Point();
        private bool isSelected = false;

        public Form1()
        {
            InitializeComponent();
            //this.Focus();
        }

        private void Form1_Load(object sender EventArgs e)
        {
            OperateClass.SetSuitPictureBox(picBox pan_picture);
            img_ori = picBox.Image;
            //img_ori = Image.FromFile(picBox.ImageLocation);
        }

        private void Form1_SizeChanged(object sender EventArgs e)
        {
            //SetSuitPictureBox();
        }

        /// 
        /// 获取焦点
        /// 

        /// 
        /// 
        private void picBox_MouseEnter(object sender EventArgs e)
        {
            picBox.Focus();
            OperateClass.resetPic(picBox);
        }

        /// 
        /// 滚动缩放
        /// 

        /// 
        /// 
        private void picBox_MouseWheel(object sender System.Windows.Forms.MouseEventArgs e)
        {
            int numberOfTextLinesToMove=0;
            numberOfTextLinesToMove= e.Delta * SystemInformation.MouseWheelScrollLines / 120;
           
            if(toolStripComboBox1.Text.Trim()!=“启用缩放“)numberOfTextLinesToMove=0;

            if (numberOfTextLinesToMove > 0)
            {
                for (int i = 0; i < numberOfTextLinesToMove; i++)
                {
                    zoomtime++;
                    OperateClass.maxMin(picBox img_ori zoomtime);
                    

                }
            }
            else if (numberOfTextLinesToMove < 0)
            {
                for (int i = 0; i > numberOfTextLinesToMove; i--)
                {
                    zoomtime--;
                    OperateClass.maxMin(picBox img_ori zoomtime);
                }
            }
           
        }
        

        #region  拖动
        private void picBox_MouseDown(object sender MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                mouseDownPoint.X = Cursor.Position.X;
                mouseDownPoint.Y = Cursor.Position.Y;
                isSelected = true;
            }
        }
        private void picBox_MouseMove(object sender MouseEventArgs e)
        {
            if (isSelected && IsMouseInPanel())
            {
                this.picBox.Left = this.picBox.Left + (Cursor.Position.X - mouseDownPoint.X);
                this.picBox.

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       9171  2012-12-08 22:13  Picture2GameForm1.cs

     文件      28589  2012-12-08 22:10  Picture2GameForm1.Designer.cs

     文件     406641  2012-12-08 22:10  Picture2GameForm1.resx

     文件     778665  2012-12-05 10:30  Picture2Gameimage1-3章.jpg

     文件     110928  2012-12-08 04:09  Picture2Gameimage10章续.jpg

     文件     689547  2012-12-05 10:31  Picture2Gameimage11-13章.jpg

     文件     140759  2012-12-08 04:09  Picture2Gameimage11章续.jpg

     文件     797062  2012-12-05 10:31  Picture2Gameimage14-17章.jpg

     文件     683034  2012-12-08 04:02  Picture2Gameimage17前加入的伙伴.jpg

     文件     191295  2012-12-08 04:09  Picture2Gameimage17章续.jpg

     文件     863571  2012-12-05 10:33  Picture2Gameimage18-19章.jpg

     文件     214517  2012-12-08 12:16  Picture2Gameimage2.jpg

     文件     840699  2012-12-08 05:11  Picture2Gameimage20-21章.jpg

     文件     752624  2012-12-08 05:11  Picture2Gameimage22-23章.jpg

     文件     778652  2012-12-05 10:30  Picture2Gameimage4-7章.jpg

     文件     699552  2012-12-05 10:31  Picture2Gameimage8-10章.jpg

     文件     121437  2012-12-08 04:09  Picture2Gameimage8章续.jpg

     文件     774104  2012-12-05 10:28  Picture2Gameimage前篇技巧1.jpg

     文件     727899  2012-12-05 10:29  Picture2Gameimage前篇技巧2.jpg

     文件     869986  2012-12-05 10:32  Picture2Gameimage应用技巧篇.jpg

     文件     818885  2012-12-08 05:11  Picture2Gameimage最终章.jpg

     文件       5331  2012-12-08 22:13  Picture2Gameobjx86DebugDesignTimeResolveAssemblyReferencesInput.cache

     文件       2650  2012-12-08 22:11  Picture2Gameobjx86DebugGenerateResource-ResGen.read.1.tlog

     文件        550  2012-12-08 22:11  Picture2Gameobjx86DebugGenerateResource-ResGen.write.1.tlog

     文件        669  2012-12-08 22:14  Picture2Gameobjx86DebugPicture2Game.csproj.FileListAbsolute.txt

     文件   11404288  2012-12-08 22:13  Picture2Gameobjx86DebugPicture2Game.exe

     文件     269329  2012-12-08 22:11  Picture2Gameobjx86DebugPicture2Game.Form1.resources

     文件      48640  2012-12-08 22:13  Picture2Gameobjx86DebugPicture2Game.pdb

     文件   10856976  2012-12-08 22:11  Picture2Gameobjx86DebugPicture2Game.Properties.Resources.resources

     文件       6656  2012-12-08 11:45  Picture2Gameobjx86DebugTempPEProperties.Resources.Designer.cs.dll

............此处省略22个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)