• 图片拖动


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Drawing.Imaging;
    
    namespace 图片拖动
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            private Bitmap m_Image = (Bitmap)Image.FromFile(@"2009120459102338.jpg");
    
            private Point m_StarPoint = Point.Empty;
            private Point m_ViewPoint = Point.Empty;
            private bool m_StarMove = false;
            private void Form1_Load(object sender, EventArgs e)
            {
                pictureBox1.Image = m_Image.Clone(new RectangleF(0, 0, pictureBox1.Width, pictureBox1.Height), PixelFormat.Format24bppRgb);
            }
    
    
    
            //private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
            //{
            //    Cursor = Cursors.Hand;
            //    m_StarMove = true;
            //    m_StarPoint = e.Location;
            //}
    
            //private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
            //{
            //    if (m_StarMove)
            //    {
            //       // System.Threading.Thread.Sleep(100);
    
            //        LoadImage(new Point(m_StarPoint.X - e.X, m_StarPoint.Y - e.Y));
            //    }
            //}
            //private void LoadImage(Point m_MovePoint)
            //{
            //    int _X = m_MovePoint.X + m_ViewPoint.X;
            //    int _Y = m_MovePoint.Y + m_ViewPoint.Y;
            //    if (_X < 0) _X = 0;
            //    if (_Y < 0) _Y = 0;
            //    if (_X + pictureBox1.Width > m_Image.Width) _X = m_Image.Width - pictureBox1.Width;
            //    if (_Y + pictureBox1.Height > m_Image.Height) _Y = m_Image.Height - pictureBox1.Height;
            //    pictureBox1.Image = m_Image.Clone(new RectangleF(_X, _Y, pictureBox1.Width, pictureBox1.Height), PixelFormat.Format24bppRgb);
            //    m_ViewPoint.X = _X;
            //    m_ViewPoint.Y = _Y;
            //    pictureBox1.Refresh();
            //}
    
            //private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
            //{
            //    m_StarMove = false;
            //}
    
            bool wselected = false;
            Point p = new Point();
            private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
            {
                wselected = true;
                p.X = e.X;
                p.Y = e.Y;
            }
            int driftX = 0, driftY = 0;
            int mx = 0, my = 0;
            private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
            {
                if (wselected)
                {
                    driftX = p.X - e.X;
                    driftY = p.Y - e.Y;
    
                    mx = mx - driftX;
                    my = my - driftY;
    
                    Bitmap bm = new Bitmap(this.pictureBox1.Image);
    
                    Graphics g = pictureBox1.CreateGraphics();
                    g.Clear(pictureBox1.BackColor);
                    g.DrawImage(bm, mx, my);
    
                    p.X = e.X;
                    p.Y = e.Y;
    
                    bm.Dispose();
                    g.Dispose();
                }
            }
    
            private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
            {
                wselected = false;
            }
        }
    }
    
  • 相关阅读:
    uva2965
    uva10755
    uva3695
    uva2678
    uva 11549
    stringstream使用笔记
    noip2016游记
    java学习(四)--- String 、StringBuffer、StringBuilder 和 数组
    java学习(三)--- 修饰符
    java学习(二)--- 变量类型
  • 原文地址:https://www.cnblogs.com/hdl217/p/2036010.html
Copyright © 2020-2023  润新知