中易网

用C#写一个画图程序

答案:2  悬赏:0  
解决时间 2021-03-03 06:42
要求可以画直线,画圆,有喷枪,改变画笔颜色,填充。就是和windows自带的画图差不多,不要求很高级的功能。小弟初学 C#遇到这个问题不懂,求大神源代码。谢谢
最佳答案
可以使用wpf 来实现,里面自带有图画版的 控件
class Program
{
static void Main(string[] args)
{

string str = Console.ReadLine(); //获取输入数据,空格分开
char[] sep = { ' ' };
string[] res = str.Split(sep,StringSplitOptions.RemoveEmptyEntries);
int[] inputs = new int[res.Length]; // 输入任意个数字
for (int i = 0; i < res.Length; i++)
{
inputs[i] = Convert.ToInt32(res[i]);
}
Console.WriteLine("max:" + inputs.Max());
Console.WriteLine("min:" + inputs.Min());
Console.WriteLine("max:" + inputs.Average());
Console.ReadKey();
}
}
全部回答

这是一个很简单的画图程序,你可以参考一下,运行正常。

using system; using system.drawing; using system.collections; using system.componentmodel; using system.windows.forms; using system.data;

namespace usegdi_ { /// <summary> /// form1 的摘要说明。 /// </summary> public class form1 : system.windows.forms.form { private system.windows.forms.mainmenu mainmenu1; private system.windows.forms.menuitem menuitem1; private system.windows.forms.menuitem mnutooleraser; private system.windows.forms.menuitem mnutooldraw; private system.windows.forms.menuitem mnutoolclear; private system.windows.forms.menuitem menuitem5; /// <summary> /// 必需的设计器变量。 /// </summary> private system.componentmodel.container components = null;

public form1() { // // windows 窗体设计器支持所必需的 // initializecomponent();

// // todo: 在 initializecomponent 调用后添加任何构造函数代码 // }

/// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void dispose( bool disposing ) { if( disposing ) { if (components != null) { components.dispose(); } } base.dispose( disposing ); }

#region windows 窗体设计器生成的代码 /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void initializecomponent() { this.mainmenu1 = new system.windows.forms.mainmenu(); this.menuitem1 = new system.windows.forms.menuitem(); this.mnutooleraser = new system.windows.forms.menuitem(); this.mnutooldraw = new system.windows.forms.menuitem(); this.mnutoolclear = new system.windows.forms.menuitem(); this.menuitem5 = new system.windows.forms.menuitem(); // // mainmenu1 // this.mainmenu1.menuitems.addrange(new system.windows.forms.menuitem[] { this.menuitem1}); // // menuitem1 // this.menuitem1.index = 0; this.menuitem1.menuitems.addrange(new system.windows.forms.menuitem[] { this.mnutooleraser, this.mnutooldraw, this.menuitem5, this.mnutoolclear}); this.menuitem1.text = "工具"; // // mnutooleraser // this.mnutooleraser.index = 0; this.mnutooleraser.text = "橡皮"; this.mnutooleraser.click += new system.eventhandler(this.mnutooleraser_click); // // mnutooldraw // this.mnutooldraw.checked = true; this.mnutooldraw.index = 1; this.mnutooldraw.text = "绘图"; this.mnutooldraw.click += new system.eventhandler(this.mnutooldraw_click); // // mnutoolclear // this.mnutoolclear.index = 3; this.mnutoolclear.text = "清除"; this.mnutoolclear.click += new system.eventhandler(this.mnutoolclear_click); // // menuitem5 // this.menuitem5.index = 2; this.menuitem5.text = "-"; // // form1 // this.autoscalebasesize = new system.drawing.size(6, 14); this.clientsize = new system.drawing.size(376, 321); this.menu = this.mainmenu1; this.name = "form1"; this.startposition = system.windows.forms.formstartposition.centerscreen; this.text = "form1"; this.mousedown += new system.windows.forms.mouseeventhandler(this.form1_mousedown); this.mousemove += new system.windows.forms.mouseeventhandler(this.form1_mousemove);

} #endregion

/// <summary> /// 应用程序的主入口点。 /// </summary> [stathread] static void main() { application.run(new form1()); }

int x,y; private void form1_mousedown(object sender, system.windows.forms.mouseeventargs e) { if(e.button==mousebuttons.left) { x=e.x; y=e.y; } }

private void form1_mousemove(object sender, system.windows.forms.mouseeventargs e) { if(e.button==mousebuttons.left && this.sign==1) { graphics g=this.creategraphics(); pen p=new pen(color.red,1); g.drawline(p,new point(x,y),new point(e.x,e.y)); x=e.x; y=e.y; } else if(e.button==mousebuttons.left && this.sign==0) { graphics g=this.creategraphics(); solidbrush b=new solidbrush(color.blue); g.fillrectangle(b,x,y,math.abs(e.x-x)+10,math.abs(e.y-y)+20); x=e.x; y=e.y; } }

private void mnutoolclear_click(object sender, system.eventargs e) { this.refresh(); }

int sign=1; private void mnutooldraw_click(object sender, system.eventargs e) { this.sign=1; this.setchecked((menuitem)sender); }

private void setchecked(menuitem item) { this.mnutooldraw.checked=false; this.mnutooleraser.checked=false;

item.checked=true; }

private void mnutooleraser_click(object sender, system.eventargs e) { this.sign=0; this.setchecked((menuitem)sender); } } }

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
济南的环境现在好吗?
岭秀山泉水店这个地址在什么地方,我要处理点
一滴单方精油多少毫升
一个桶里原来有一些汽油,如果先倒入36.5千克
老凤祥银楼原阳专卖店在哪里啊,我有事要去这
给老爸买一款手机.要求省电皮实耐用.功能不用
妈妈回家时带了一个男人回来,妈妈把我支走,
关于村官服务期没满,去考公务员。
交通事故,轿车碰摩托,轿车全责,摩托把司机
2009年青岛社保缴费基数
有一个男孩对我很好 特别在乎我 什么都愿意为
科鲁兹性能怎么样,每天上下班(路程25公里)
品质改善报告怎样写?
请问读高中靠智商还是奋斗?
张记抻面地址在哪,我要去那里办事
推荐资讯
天翼建韬店在什么地方啊,我要过去处理事情
雪亮眼镜NO.1怎么去啊,有知道地址的么
请问白昼的近义词和送行的近,反义词是什么?
二级医院的TCT检查报告,竟然不检查HPV感染,
亨伦国际酒店怎么样
出天于《夏洛的网》5道选择,
企业租赁出去后承租人以原企业的名义所欠的债
描写恶劣环境的语段(5段) 描写晴好天气的语
小马过河这篇寓言故事主要讲了什么?
如何通过c++进行socket通信时.客户端绑定本地
鑫欣不锈钢板我想知道这个在什么地方
亨得利专卖店地址有知道的么?有点事想过去
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?