资源简介

C#实现在picturebox内画矩形,并将矩形框内选中的局部图片放大显示 源码

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace PicZoom
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private Point m_ptStart = new Point(0 0);
        private Point m_ptEnd = new Point(0 0);
        private bool m_bMouseDown = false;
        private float xRate yRate realX1 realY1 realX2 realY2;

        private void pictureBox1_MouseDown(object sender MouseEventArgs e)
        {
            if (e.Button != MouseButtons.Left)
            {
                return;
            }

            m_ptEnd = new Point(e.X e.Y);
            this.pictureBox1.Refresh();
            label2.Text = “X = “ + e.X.ToString() + “ Y = “ + e.Y.ToString();
            label3.Text = “X = “ + pictureBox1.Location.X.ToString() + “Y = “ + pictureBox1.Location.Y.ToString();

            realX1 = e.X * xRate;
            realY1 = e.Y * yRate;

            label4.Text = “X = “ + realX1.ToString() + “Y = “ + realY1.ToString();
            if (!m_bMouseDown)
            {
                m_ptStart = new Point(e.X e.Y);
                m_ptEnd = new Point(e.X e.Y);
            }
            m_bMouseDown = !m_bMouseDown; 
        }

        private void pictureBox1_Paint(object sender PaintEventArgs e)
        {
            if (m_ptEnd.X - m_ptStart.X < 0 || m_ptEnd.Y - m_ptStart.Y < 0)
            {
                return;
            }

            e.Graphics.DrawRectangle(System.Drawing.Pens.Blue m_ptStart.X m_ptStart.Y m_ptEnd.X - m_ptStart.X m_ptEnd.Y - m_ptStart.Y);

        }

        private void pictureBox1_MouseUp(object sender MouseEventArgs e)
        {
            if (e.Button != MouseButtons.Left)
            {
                return;
            }

            if (m_ptStart.X >= 0 && m_ptEnd.X >= 0
                 && m_ptStart.Y >= 0 && m_ptEnd.Y >= 0
                 && m_ptStart.X <= 254 && m_ptEnd.X <= 254
                 && m_ptStart.Y <= 163 && m_ptEnd.Y <= 163)
            {
                m_ptEnd = new Point(e.X e.Y);
                m_bMouseDown = !m_bMouseDown;
                this.pictureBox1.Refresh();
            }
            else
            {
                m_ptEnd = new Point(e.X e.Y);
                m_ptEnd = m_ptStart;
                m_bMouseDown = !m_bMouseDown;
                this.pictureBox1.Refresh();
            }

            realX2 = e.X * xRate;
            realY2 = e.Y * yRate;

            label5.Text = “X = “ + realX2.ToString() + “Y = “ + realY2.ToString();


            pictureBox2.Image = Crop((Bitmap)pictureBox1.Image);
            GC.Collect();
        }

        private void pictureBox1_MouseMove(object sender MouseEventArgs e)
        {
            if (e.Button != MouseButtons.Left)
            

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

     文件     147456  2009-06-12 15:40  PicZoom\PicZoom\bin\Debug\PicZoom.exe

     文件      26112  2009-06-12 15:40  PicZoom\PicZoom\bin\Debug\PicZoom.pdb

     文件       5632  2005-11-11 22:25  PicZoom\PicZoom\bin\Debug\PicZoom.vshost.exe

     文件       3878  2009-06-12 15:40  PicZoom\PicZoom\Form1.cs

     文件       5622  2009-06-12 15:40  PicZoom\PicZoom\Form1.Designer.cs

     文件       5814  2009-06-12 15:40  PicZoom\PicZoom\Form1.resx

     文件        924  2009-06-12 15:40  PicZoom\PicZoom\obj\Debug\PicZoom.csproj.GenerateResource.Cache

     文件     147456  2009-06-12 15:40  PicZoom\PicZoom\obj\Debug\PicZoom.exe

     文件        180  2009-06-12 15:40  PicZoom\PicZoom\obj\Debug\PicZoom.Form1.resources

     文件      26112  2009-06-12 15:40  PicZoom\PicZoom\obj\Debug\PicZoom.pdb

     文件     125700  2009-06-12 15:37  PicZoom\PicZoom\obj\Debug\PicZoom.Properties.Resources.resources

     文件       5120  2009-06-12 15:37  PicZoom\PicZoom\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll

     文件        268  2009-06-12 15:40  PicZoom\PicZoom\obj\PicZoom.csproj.FileList.txt

     文件       3336  2009-06-12 15:37  PicZoom\PicZoom\PicZoom.csproj

     文件        466  2009-06-12 15:28  PicZoom\PicZoom\Program.cs

     文件       1166  2009-06-12 15:28  PicZoom\PicZoom\Properties\AssemblyInfo.cs

     文件       3343  2009-06-12 15:37  PicZoom\PicZoom\Properties\Resources.Designer.cs

     文件       6445  2009-06-12 15:37  PicZoom\PicZoom\Properties\Resources.resx

     文件       1091  2009-06-12 15:28  PicZoom\PicZoom\Properties\Settings.Designer.cs

     文件        249  2009-06-12 15:28  PicZoom\PicZoom\Properties\Settings.settings

     文件      51415  2009-06-12 15:37  PicZoom\PicZoom\Resources\chinamap.jpg

     文件      71189  2004-08-17 20:00  PicZoom\PicZoom\Resources\Sunset.jpg

     文件        910  2009-06-12 15:28  PicZoom\PicZoom.sln

    ..A..H.     11776  2009-06-12 15:40  PicZoom\PicZoom.suo

     文件        132  2009-06-12 15:43  PicZoom\Readme.txt

     目录          0  2009-06-12 15:37  PicZoom\PicZoom\obj\Debug\TempPE

     目录          0  2009-06-12 15:33  PicZoom\PicZoom\bin\Debug

     目录          0  2009-06-12 15:40  PicZoom\PicZoom\obj\Debug

     目录          0  2009-06-12 15:36  PicZoom\PicZoom\bin

     目录          0  2009-06-12 15:33  PicZoom\PicZoom\obj

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

评论

共有 条评论