用C#开发简单的绘图软件

来源:百度知道 编辑:UC知道 时间:2024/06/30 22:58:32
软件的基本功能要求如下:
1.能使用工具绘制基本的图形,包括直线、矩形、圆,椭圆等基本图形。
2.能够将图形保存成文件,从文件读取图形;
3.绘图工具可以指定颜色,粗细等属性
希望能够附带上代码,回复结果满意,再追加你20分

上述两个都不是开源的吧!
-----------
这个很容易的。两个思想:
1.可以把图形用graphics的saveas功能,另存为jpg文件。
具体不再多说了。

2.可以采用“文档-视图”的观念设计。
你把form里的图形用一个个的对象表示,在绘制时,根据UI的操作,生成这些对象,保存一个集合里就好了。
这些对象和对象池要声明为可序列化的,这样就不必自己去写序列代码了。
在保存时,调用集合对象的序列化函数,即可以保存。在打开时,调用集合类的反序列化函数,从文件创建那些对象。

最后,为form的paint事件实现订阅,固定循环你的对象池的对象,根据对象的属性来画图就好了。

我大概写个示意的代码和类设计,有打字错误请包涵:

// 图形对象基类
[serializeable]
public abstract class sharp
{
public Point StartPoint{set;get;}
public abstract void Draw(Graphics g);
}
[serializeable]
public class circle : sharp
{
public double R;
public override void Draw(Graphics g )
{
// 这里写绘制自己的代码
}
}

//对象集合管理类
[serializeable]
public class shapcollection
{
public List<sharp> sharps = new List<Sharp>();
}

// form 类
public class My_Form:Form
{
....
private ShapCollec