在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一、先说一下如何在一个页面上创建一个简单的图。 首先,我们需要实例化一个Bitmap对象 Bitmap image = new Bitmap(400,400); //两个参数分别是图片的width和height 之后,利用类Graphics的FromImage()方法,把之前实例化的Bitmap对象image作为参数传递给它,生成一个Graphics对象g; Graphics g= Graphics.FromImage(image); 之后就可以调用g的FillEllipse、FillRectangle、FillPie等方法,为图片设置背景色、各个点的坐标位置等 g.FillEllipse(new SolidBrush(Color.Yellow),0,0,400,400); g.FillPie(new SolidBrush(Color.Red),2,2,200,200,0,77);//画一个扇形,填充为红色。。。 最后,我们利用image对象的Save()方法将该图片输出到客户端浏览器显示 //以"Jpeg"格式保存此图片对象,在客户端显示出来 image.Save(Response.OutputStream,ImageFormat.Jpeg); 这样,一个单一的图片就生成了。 二、如何在图片上画其他图像(比如线、字、椭圆、矩形等等) 1、首先,自定义字体Font f = new Font( 参数列表),可以有很多种不同的重载方法,比如 Font f = new Font("宋体",20); //定义字体为宋体,字体大小为20 2、 之后,定义画笔 Pen penName = new Pen(参数列表),可以定义不同颜色、不同宽度的画笔。 Pen redPen = new Pen(Color.Red); //定义红色画笔 Pen bluePen = new Pen(new SolidBrush(Color.Blue),4); //定义蓝色画笔,画笔画出的线宽度为4 3、可以调用上面Graphics对象g的各种Draw*方法,如DrawLine(画线)、DrawString(写字)等方法,实现自己需要的功能;比如: g.DrawLine(redPen,200,200,250,100); //用redPen画一条线,起始坐标分别为(200,200)和(250,100) g.DrawRectangle(bluePen,40,40,250,200); //用bluePen画一个矩形,左上角坐标为(40,40),矩形的宽度和高度分别为250和200 g.DrawString("你好吗?", f, new SolidBrush(Color.Yellow), 50, 50); //写"你好吗?",字体为f,从(50,50)处开始写 4、最后,再利用image对象的Save()方法将该图片输出到客户端浏览器显示 //以"Jpeg"格式保存此图片对象,在客户端显示出来 image.Save(Response.OutputStream,ImageFormat.Jpeg); 三、以上代码画出的效果如下: 这只是关于System.Drawing命名空间下部分类的简单应用。应用该类还可以做出各种各样的形象、直观的图形,比如饼图、各种对比分析图等等。所以有待于进一步的熟悉以及很好的实践,才可以更好的掌握好这个功能。.Net将各种类封装的很好,我们现在只是利用它们提供的接口来进行应用上的开发;有兴趣的,也可以对底层的一些实现进行研究,应该也是很有意思的吧,呵呵 自己本身不是高手,只是记录一些自己学习的东西;如果觉得简单,也希望大家一笑置之。 |
请发表评论