c# GDI+简单绘图(四)

前几篇我已经向大家介绍了如何使用GDI+来绘图,并做了一个截图的实例,这篇我向大家介绍下如何来做一个类似windows画图的工具.

个人认为如果想做一个功能强大的绘图工具,那么单纯掌握GDI还远远不够,我的目前也只能做一个比较简单的绘图工具了.不足之处,欢迎大家讨论!

先来看一下最终效果吧:


主要实现功能:画直线,矩形,橡皮,圆形,切换颜色,打开图片,保存图片,清除图片,手动调节画布大小;软件刚启动时,为一张空白画布,我们可以直接在画布上绘画,也可以通过菜单中的“打开”,导入一张图片,然后我们就可以在这张图片上进行绘制。

平台:VS2005 WINFORM

由于代码过多,在这里只简要介绍下制作步骤,提供大家工程下载.

1.对整个界面进行布局.

2.实现绘图工具的功能

3.实现颜色拾取的功能,这里我们直接拿上次写的自定义控件来用.

4.实现菜单功能

5.实现手动调节画布大小的功能

6.测试

时间: 2024-10-31 02:17:03

c# GDI+简单绘图(四)的相关文章

c# GDI+简单绘图(二)

在上一片里已经向大家介绍了如何使用GDI+绘制简单的图像,这一片继续向大家介绍其它一些绘图知识. 1.首先我们来看下上一片中我们使用过的Pen. Pen的属性主要有: Color(颜色),DashCap(短划线终点形状),DashStyle(虚线样式),EndCap(线尾形状), StartCap(线头形状),Width(粗细)等. 我们可以用Pen 来画虚线,带箭头的直线等 Pen p = new Pen(Color.Blue, 5);//设置笔的粗细为,颜色为蓝色 Graphics g =

c# GDI+简单绘图(一)

最近对GDI+这个东西接触的比较多,也做了些简单的实例,比如绘图板,仿QQ截图等. 最早接触这个类,是因为想做仿QQ截图的效果.巧的很,学会了如何做截图后,.NET课堂上老师也正巧要讲关于c#绘图方面的知识,并且我自己又在网上学习金老师的培训班,也是要用到这个类.在学习中有一些体会,所以准备把这些体会记下来,因为内容比较多,可能我会分几次写. 废话不多说了,我们先来认识一下这个GDI+,看看它到底长什么样. GDI+:Graphics Device Interface Plus也就是图形设备接口

C# GDI+简单绘图(三)

感谢大家的支持,这几天从早忙到晚,一个字累呀!!!现在挺困的,但是又不习惯这么早睡觉,哎~~还是利用这个时间继续来写第三篇吧. 前两篇已经基本向大家介绍了绘图的基本知识.那么,我就用我们上两篇所学的,做几个例子. 我们先来做一个简单的----仿QQ截图,关于这个的例子其实网上已经有这方面的资料了,但是为了文章的完整性,还是觉得有必要讲解. 我们先来看一下效果: (图1) (图2)

C# GDI+简单绘图演示

就是算坐标要仔细,要不然,就不知道图画到哪里去了... 还好,我几何学得不太差..将六个图合到一个大图,算得出来... 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Threa

专家详解简单的四帧GIF动画制作方法

专家详解简单的四帧GIF动画制作方法 看似简单的动画,制作起来还是非常需要技巧和方法的.作者在这方面非常有经验,而且用了非常详细的文字来描述动画从前期到结尾,我们需要用到哪些面板和动作,怎么新建图层和保存动画等.这些都是非常难得的学习资料,有了这些,我们的动画制作水平会有质的提高. 最终效果 其它效果 1.前期准备:在PS里制作GIF所需要准备显示的几个窗口:图层.动画.动作. 一张完成动作的GIF如下图这样分解的,每一帧负责显示各自的图层内容.  2.做一些设置以便日后操作的过程简化. 在动画

C# GDI+ 简单学习

一.创建Graphics对象 要绘制图像,首先要创建Graphics对象,然后才可以使用GDI+绘制线条和形状,呈现文本或显示与操作图像.Graphics对象是GDI+的绘图表面,是用于创建图形图像的对象.创建Graphics对象有下面三个方法(摘自MSDN): 1.在窗体或控件的 Paint 事件中接收对图形对象的引用,作为 PaintEventArgs 的一部分.在为控件创建绘制代码时,通常会使用此方法来获取对图形对象的引用. private void Form1_Paint(object

WebSocket简单使用(四) - 完整实例

原文 http://www.oseye.net/user/kevin/blog/81 关于WebSocket我打算分如下几篇博文来探探路: WebSocket简单使用(一) - 概念 WebSocket简单使用(二) - 客户端 WebSocket简单使用(三) - 服务器端 WebSocket简单使用(四) - 完整实例 WebSocket简单使用(五) - 模拟微信 连接键盘 功能 背景: 前几天老大突然发现微信有个链接键盘的功能,我仔细想了下或许是使用WebSocket来实现的,又加上最近

GDI+简单现实文字旋转

原文 http://www.cnblogs.com/kaixiangbb/p/3301272.html 题记     入职新公司已快有两月了,试用期已快结束,项目却迟迟还未正式启动.安排给我的多是些琐事,一直未进入工作状态.公司也不在本地,我是属于公司在现场招 的,工作地点就在客户这边.刚来时还有其他几个到这边出差的同事,有专门过来带我熟悉业务的,但呆了一个月陆陆续续都回公司去了.现目前就我和另一个在这 边上学的研三的实习生同事,没有人管着又没多少事可做,着实闲得有点蛋疼.     一闲下来时间

GDI+自绘图像在窗口隐藏后刷新问题。

问题描述 我使用pictruebox绘制图像,这幅图像我同时缓存在一个Graphics中.当绘制窗口被遮挡后再显示,我在Paint事件中将缓存的图像直接绘制在pictruebox上.但有时候会出现如下图的情况:尤其是当绘制窗口快速移动到windows窗口外后再迅速移动回来,非常容易出现这种绘制不全的情况.但如果移动速度比较慢绘制就很完整,请问这是怎么个情况? 解决方案 解决方案二:图怎么看不见啊?解决方案三:不要缓存Graphics.解决方案四:绘制图像都是在OnPaint里绘制.其它事件对实体