-
大小: 1.14MB文件类型: .rar金币: 1下载: 0 次发布日期: 2023-08-16
- 语言: C#
- 标签: pictureBox C# 橡皮筋 背景
资源简介
C#的pictureBox上绘图,带背景,有橡皮筋效果,实现画矩形和直线,图片可保存。
开发环境:Visual Studio 2012(.net framework 4.5)
代码片段和文件信息
using System;
using System.Drawing;
using System.Windows.Forms;
namespace WFA画图
{
public partial class Form1 : Form
{
#region 成员变量
Point m_p1 m_p2;
bool m_flgKeuDowm = false;
Bitmap m_mapStart;
Bitmap m_mapEnd;
Bitmap m_mapInit;
Graphics m_graphics;
#endregion
public Form1()
{
InitializeComponent();
m_graphics = pictureBox1.CreateGraphics();
// 最初的背景图存起来,清除绘制图形时用
m_mapInit = (Bitmap)pictureBox1.BackgroundImage;
}
#region 鼠标事件
///
/// 鼠标按下
///
///
///
private void pictureBox1_MouseDown(object sender MouseEventArgs e)
{
m_flgKeuDowm = true;
_initPoint(e);
}
///
/// 鼠标移动
///
///
///
private void pictureBox1_MouseMove(object sender MouseEventArgs e)
{
if (!m_flgKeuDowm)
{
return;
}
else
{
m_p2 = new Point(e.X e.Y);
}
int width = Math.Abs(e.X - m_p1.X);
int height = Math.Abs(e.Y - m_p1.Y);
_draw();
}
///
/// 鼠标抬起
///
///
///
private void pictureBox1_MouseUp(object sender MouseEventArgs e)
{
m_flgKeuDowm = false;
// 最终的图片设为背景图
pictureBox1.BackgroundImage = m_mapEnd;
// 起止点初始化
_initPoint(e);
}
#endregion
private void _draw(){
// 每次的【终止图】都是取自【起始图】
m_mapEnd = (Bitmap)m_mapStart.Clone();
Graphics g = Graphics.FromImage(m_mapEnd);
Pen pen = new Pen(Color.Red3);
if (rdoRect.Checked)
{
Point p1p2;
_swapPoint(out p1out p2 );
int width = Math.Abs(p2.X - p1.X);
int height = Math.Abs(p2.Y - p1.Y);
g.DrawRectangle(pen p1.X p1.Y width height);
}else if(rdoLine.Checked){
// 画直线不用转换点坐标,直接用成员变量的Point
g.DrawLine(pen m_p1 m_p2);
}
m_graphics.DrawImage(m_mapEnd new Point(0 0));
}
private void _initPoint(MouseEventArgs e)
{
m_p1 = new Point(e.X e.Y);
m_p2 = m_p1;
if (pictureBox1.BackgroundImage != null)
{
m_mapStart = (Bitmap)pictureBox1.BackgroundImage;
}
}
private void
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 917 2018-06-16 20:01 WFA画图.sln
..A..H. 26112 2018-06-16 23:32 WFA画图.v11.suo
文件 187 2018-06-16 20:01 WFA画图\App.config
文件 297984 2018-06-17 00:03 WFA画图\bin\Debug\WFA画图.exe
文件 187 2018-06-16 20:01 WFA画图\bin\Debug\WFA画图.exe.config
文件 30208 2018-06-17 00:03 WFA画图\bin\Debug\WFA画图.pdb
文件 22984 2018-06-17 00:04 WFA画图\bin\Debug\WFA画图.vshost.exe
文件 187 2018-06-16 20:01 WFA画图\bin\Debug\WFA画图.vshost.exe.config
文件 490 2016-07-16 19:44 WFA画图\bin\Debug\WFA画图.vshost.exe.manifest
文件 4491 2018-06-17 00:03 WFA画图\Form1.cs
文件 5352 2018-06-17 00:03 WFA画图\Form1.Designer.cs
文件 5817 2018-06-17 00:03 WFA画图\Form1.resx
文件 7348 2018-06-16 23:07 WFA画图\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 0 2018-06-16 20:01 WFA画图\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
文件 0 2018-06-16 20:01 WFA画图\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
文件 0 2018-06-16 20:01 WFA画图\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
文件 5120 2018-06-16 23:07 WFA画图\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll
文件 1059 2018-06-17 00:04 WFA画图\obj\Debug\WFA画图.csproj.FileListAbsolute.txt
文件 1061 2018-06-17 00:03 WFA画图\obj\Debug\WFA画图.csproj.GenerateResource.Cache
文件 2209 2018-06-16 22:56 WFA画图\obj\Debug\WFA画图.csprojResolveAssemblyReference.cache
文件 297984 2018-06-17 00:03 WFA画图\obj\Debug\WFA画图.exe
文件 180 2018-06-17 00:03 WFA画图\obj\Debug\WFA画图.Form1.resources
文件 30208 2018-06-17 00:03 WFA画图\obj\Debug\WFA画图.pdb
文件 286159 2018-06-16 23:08 WFA画图\obj\Debug\WFA画图.Properties.Resources.resources
文件 521 2018-06-16 20:01 WFA画图\Program.cs
文件 1338 2018-06-16 20:01 WFA画图\Properties\AssemblyInfo.cs
文件 3610 2018-06-16 23:07 WFA画图\Properties\Resources.Designer.cs
文件 6453 2018-06-16 23:07 WFA画图\Properties\Resources.resx
文件 1096 2018-06-16 20:01 WFA画图\Properties\Settings.Designer.cs
文件 249 2018-06-16 20:01 WFA画图\Properties\Settings.settings
............此处省略14个文件信息
相关资源
- c# HIST系统医院管理系统
- C# Winform客户端实现M2Mqtt连接Apollo MQ
- 数据结构(C#语言描述-陈广
- C#黑白棋完整版-开发者-沙加原创
- C# teechart
- C#个人通讯录系统
- C# 简易公交路线查询软件
- 课程设计-C#户籍管理系统
- C#语音播放+语音生成工具Winform
- 图书管理系统 超简单 很适合课程设计
- c# 采集核心源码 获取超连接
- C# windows 服务学习
- c#二维码打印
- IM即时通讯源码C#开发有数据库
- C#程序实现Canny边缘检测算法
- C#实现在线视频聊天语音聊天全源
- c#井字游戏
- 各种版本UDP和TCP小程序
- 基于C#的网上购物系统
- C#文件资源管理器——仿我的电脑
- C#+Access实现小型CRM系统
- C#黑白图像去噪源代码工程
- C# 的设备管理系统
- C#开发的超市商品管理系统
- asp.net(c#)客户关系管理系统CRM
- C#编写的网络间谍程序源代码(监视记
- 开源 爬虫 C#
- C#网络编程实作教程
- c# call tensorflow
- 将sqlserver数据库转换为sqlite数据库的
评论
共有 条评论