实现Brush对象的五种图形

来源:互联网 发布:淘宝电脑版首页登录 编辑:程序博客网 时间:2024/05/01 07:46

本实例将使用Graphics类绘制五种图形来分别演示SolidBrush、HatchBrush、TextureBrush、LinearGradientBrush、PathGradientBrush这五种画笔的效果,然后将这五种图形输出的网页页面中。

程序实现的主要步骤为:

(1)新建一个网站并创建Default.aspx页面并打开Default.aspx.cs后台代码文件。

(2)在Default.aspx.cs代码的Page_Load中定义一个画布类,然后通过创建不同的实现类来实现不同的图形,代码如下:

01  protectedvoid Page_Load(object sender, EventArgs e)02  {03  Bitmap bitmap = newBitmap(950, 600);//建立位图文件04  Graphics gra = Graphics.FromImage(bitmap);//设置画布,与bmap关联05       gra.Clear(Color.White);//设置背景为白色06  SolidBrush solidBrush = newSolidBrush(Color.Blue);//定义单色填充画笔07  //使用单色填充画笔,填充矩形内部08       gra.FillRectangle(solidBrush, newRectangle(50, 50, 200, 200));09  //定义具有阴影样式、前景色以及背景色的画笔10  HatchBrush hatchBrush =11  newHatchBrush(HatchStyle.Horizontal, Color.Red, Color.FromArgb(255, 255, 224));12  //使用阴影样式画笔,填充椭圆形内部13       gra.FillEllipse(hatchBrush, newRectangle(300, 50, 300, 200));14  //加载指定的图片15       System.Drawing.Image image =16  System.Drawing.Image.FromFile(Server.MapPath("image/Chrysanthemum.jpg"));17  //通过指定的图像定义填充画笔18  TextureBrush textureBrush = newTextureBrush(image);19  //使用图像填充画笔,填充菱形内部20       gra.FillPolygon(textureBrush, newPoint[] { newPoint(650, 150), newPoint(775, 50),21  newPoint(900, 150), newPoint(775, 250) });22  //定义线性渐变画笔,并制定了渐变区域以及渐变颜色23  LinearGradientBrush linearGradientBrush = newLinearGradientBrush(newPoint(50, 350), newPoint(400, 350), Color.Red, Color.Yellow);24  //使用线性渐变填充画笔,填充矩形内部25       gra.FillRectangle(linearGradientBrush, newRectangle(50, 350, 350, 200));26  GraphicsPath graphicsPath = newGraphicsPath();//定义相互连接的直线对象27       graphicsPath.AddLine(650, 350, 900, 380);//定义顶部水平直线28       graphicsPath.AddLine(900, 380, 900, 530);//定义右侧垂直直线29       graphicsPath.AddLine(900, 530, 630, 550);//定义底部水平直线30       graphicsPath.CloseFigure();//关闭并使用直线连接结束点与开始点31  //定义用于填充GraphicsPath对象内部的渐变画笔32  PathGradientBrush pathGradientBrush = newPathGradientBrush(graphicsPath);33  //设置路径渐变的中心处颜色34       pathGradientBrush.CenterColor = Color.White;35  //定义渐变颜色36       pathGradientBrush.SurroundColors = newColor[] { Color.Green, Color.Blue };37  //将带有渐变颜色的形状,填充到矩形内部38       gra.FillRectangle(pathGradientBrush, newRectangle(650, 350, 920, 550));39       Response.ContentType = "image/jpeg";//声明响应输出流为jpeg图片40       bitmap.Save(Response.OutputStream, ImageFormat.Jpeg);//将位图输出到响应流41  //释放各类使用的资源42       bitmap.Dispose();43       gra.Dispose();44       solidBrush.Dispose();45       hatchBrush.Dispose();46       image.Dispose();47       textureBrush.Dispose();48       linearGradientBrush.Dispose();49       graphicsPath.Dispose();50       pathGradientBrush.Dispose();51  }

(3)在使用TextureBrush类实现绘制图形时,用到了一张图片文件,所以接着在项目上创建一个image文件夹,然后复制一个jpg类型的图片文件并命名为Chrysanthemum.jpg。

执行程序,运行结果如图11.3所示。


图11.3Brush对象五种图形的显示效果


感谢读者朋友对明日科技的支持,如果您对图书中的讲解及光盘源码有任何问题,可以直接登录http://www.mingrisoft.com上的社区进行发贴,把您的问题详细的说明一下,我们的技术人员会在那里给您回复! 

本文摘自明日科技出版的《零基础学HTML5》,转载请注明出处!!! 

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 冬瓜瘦肉汤的做法 冬瓜排骨汤怎么做 冬瓜连锅汤的做法 冬瓜排骨汤的 如何做冬瓜排骨汤 怀孕可以吃冬瓜汤吗 怎么做冬瓜汤 冬瓜排骨汤减肥吗 孕妇可以喝冬瓜排骨汤吗 孕妇可以吃冬瓜排骨汤吗 冬瓜排骨汤的热量 冬瓜西红柿汤 瘦身冬瓜汤怎么做 紫菜冬瓜汤减肥吗 冬瓜炒鸡蛋的做法 喝冬瓜排骨汤会胖吗 西红柿炒冬瓜的做法 冬瓜排骨汤玉米的做法 冬瓜薏米芡实排骨汤 冬瓜排骨汤的作用 冬瓜排骨汤能减肥吗 产妇可以吃冬瓜汤吗 冬瓜海带排骨汤做法 咳嗽可以吃冬瓜吗 孕妇能吃冬瓜汤吗 孕妇能吃冬瓜排骨汤 冬瓜羊肉的做法大全 冬瓜排骨汤功效 产妇可以吃冬瓜排骨汤吗 冬瓜汤怎么做好吃 冬瓜排骨汤营养价值 电饭锅做冬瓜排骨汤 冬瓜炖排骨的做法 晚上吃冬瓜会胖吗 孕妇喝冬瓜排骨汤 电压力锅冬瓜排骨汤 冬瓜肉丸子汤怎么做 虾米冬瓜汤怎么做 茶树菇冬瓜排骨汤 怎样做冬瓜丸子汤 冬瓜排骨汤有营养吗