当前位置: 首页 > news >正文

濮阳房产网站建设企业培训内容

濮阳房产网站建设,企业培训内容,免费 wordpress,网站编辑模版版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 17.2.5 线条样式 C#为画笔绘制线段提供了多种样式:一是线帽(包括起点和终点处)样式&#xff1b…

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

17.2.5 线条样式

C#为画笔绘制线段提供了多种样式:一是线帽(包括起点和终点处)样式;二是线条样式。

17.2.5.1 线帽样式

Pen类的StartCap属性可以设置线段起点使用的线帽样式;EndCap属性可以设置线段终点使用的线帽样式。这两个属性的值是LineCap枚举,它包括以下成员:

  1. AnchorMask:用于检查线帽是否为锚头帽的掩码。
  2. ArrowAnchor:箭头状锚头帽。
  3. Custom:自定义线帽。
  4. DiamondAnchor:菱形锚头帽。
  5. Flat:平线帽。
  6. NoAnchor:没有锚。
  7. Round:圆线帽。
  8. RoundAnchor:圆锚头帽。
  9. Square:方线帽。
  10. SquareAnchor:方锚头帽。
  11. Triangle:三角线帽。

【例 17.12【项目:code17-012】绘制带线帽的线段。

        private void button1_Click(object sender, EventArgs e)

        {

            Graphics g = this.CreateGraphics();

            Pen myPen = new Pen(Color.Red, 8);

            //几种主要的线帽

            LineCap[] pCap = {  LineCap.AnchorMask, LineCap.ArrowAnchor, LineCap.DiamondAnchor, LineCap.Flat, LineCap.Round,

            LineCap.Square, LineCap.SquareAnchor, LineCap.Triangle};

            for(int i = 0;i< pCap.Length;i++)

            {

                //设置线段开始端线帽样式

                myPen.StartCap = pCap[i];

                //设置线段结束端线帽样式

                myPen.EndCap = pCap[pCap.Length - 1 - i];

                g.DrawLine(myPen, new Point(100, i * 30 + 20), new Point(300, i * 30 + 20));

            }

            g.Dispose();

        }

运行结果如下图所示:

图17-13 常见的线帽样式

17.2.5.2 自定义线帽

使用自定义线帽,需要使用到GraphicsPath类和CustomLineCap类。

1、GraphicsPath类表示一系列相互连接的线段和曲线。路径可由任意数目的图形(子路径)组成,应用程序可以使用路径来绘制形状的轮廓、填充形状内部和创建剪辑区域。通常情况下可以使用不带参数的构造函数初始化一个GraphicsPath,然后使用它提供的方法来添加图形到路径。

GraphicsPath常用方法:

  1. AddArc:添加椭圆弧。
  2. AddBezier:添加贝塞尔曲线。
  3. AddClosedCurve:向此路径添加一个闭合曲线。 由于曲线经过数组中的每个点,因此使用基数样条曲线。
  4. AddCurve:添加样条曲线。
  5. AddEllipse:添加椭圆。
  6. AddLine: 添加线段。
  7. AddPie:添加扇形轮廓。
  8. AddPolygon: 添加多边形。
  9. AddString:添加文本字符串。
  10. AddPath:将指定的 GraphicsPath 追加到该路径。

2、CustomLineCap类封装自定义的用户定义的线帽。

CustomLineCap常用的构造函数:

  1. Public Sub New ( fillPath As GraphicsPath, strokePath As GraphicsPath)

参数说明:

  1. fillPath:自定义线帽填充内容的GraphicsPath对象。
  2. strokePath:自定义线帽轮廓的GraphicsPath对象。

上述两个参数不能同时使用,必须设置其中一个参数为nothing。如果均未向两个参数传递空值,则第一个参数将被忽略。

3、最后设置Pen的CustomStartCap或者CustomEndCap属性为定义的CustomLineCap。

注意:使用此方法时,线段起点或终点与GraphicsPath的(0,0)位置重合,而且坐标系和之前讲到的C#坐标系不同,见下图:

图17-14 自定义线帽时的GraphicsPath坐标系

【例 17.13【项目:code17-013】自定义三角形线帽。

        private void button1_Click(object sender, EventArgs e)

        {

            Graphics g = this.CreateGraphics();

            Pen myPen = new Pen(Color.Red, 4);

            //定义包含一个多边形的路径

            Point[] points = { new Point(0, 0), new Point(3, 6), new Point(-3, 6) };

            GraphicsPath gpath = new GraphicsPath();

            gpath.AddPolygon(points);

            //自定义线帽样式

            CustomLineCap pCap = new CustomLineCap(null, gpath);

            //设置自定义起点线帽和自定义终点线帽

            myPen.CustomStartCap = pCap;

            myPen.CustomEndCap = pCap;

            g.DrawLine(myPen, new Point(50, 50), new Point(250, 50));

     }

运行结果如下图所示:

图17-15自定义线帽

17.2.5.3 点划线样式

Pen类的DashStyle属性可以设置用 Pen 对象绘制点划线,点划线是由点与短线段连续组成的直线。DashStyle属性的值是DashStyle枚举,它包括以下成员:

  1. Custom:指定用户定义的自定义点划线样式。
  2. Dash:指定由短线段构成的直线。
  3. DashDot:指定由重复的短线段和点构成的直线。
  4. DashDotDot:指定由重复的短线段、点、点构成的直线。
  5. Dot:指定由点构成的直线。
  6. Solid:实线。

【例 17.14【项目:code17-014】使用线条样式。

        private void button1_Click(object sender, EventArgs e)

        {

            Graphics g = this.CreateGraphics();

            Pen p = new Pen(Color.Red, 4);

            //常见的几种点划线样式

            DashStyle[] pDash = { DashStyle.Dot, DashStyle.DashDot, DashStyle.Dash, DashStyle.DashDotDot };

            for(int i = 0;i< pDash.Length;i++)

            {

                //设置点划线样式

                p.DashStyle = pDash[i];

                g.DrawLine(p, new Point(20, i * 30 + 20), new Point(200, i * 30 + 20));

            }

        }

        private void button2_Click(object sender, EventArgs e)

        {

            Graphics g = this.CreateGraphics();

            Pen p = new Pen(Color.Red, 2);

            //设置使用短横线

            p.DashStyle = DashStyle.Dash;

            g.DrawRectangle(p, new Rectangle(20, 140, 180, 60));

        }

运行结果如下图所示:

图17-16 使用线条样式画线和画矩形

学习更多vb.net知识,请参看vb.net 教程 目录

学习更多C#知识,请参看C#教程 目录

 


文章转载自:
http://galvanize.kzrg.cn
http://audio.kzrg.cn
http://warragal.kzrg.cn
http://hangover.kzrg.cn
http://lawn.kzrg.cn
http://ambivalent.kzrg.cn
http://rushee.kzrg.cn
http://mantilla.kzrg.cn
http://belying.kzrg.cn
http://ctrl.kzrg.cn
http://monobus.kzrg.cn
http://mairie.kzrg.cn
http://accessibility.kzrg.cn
http://underwriting.kzrg.cn
http://herbalism.kzrg.cn
http://metaxenia.kzrg.cn
http://spherule.kzrg.cn
http://nattierblue.kzrg.cn
http://criminally.kzrg.cn
http://vroom.kzrg.cn
http://uranian.kzrg.cn
http://deerhound.kzrg.cn
http://twelve.kzrg.cn
http://fishpound.kzrg.cn
http://diffusive.kzrg.cn
http://siva.kzrg.cn
http://meningococcus.kzrg.cn
http://goldeneye.kzrg.cn
http://chloritization.kzrg.cn
http://footballer.kzrg.cn
http://eclampsia.kzrg.cn
http://ideologism.kzrg.cn
http://preimplantation.kzrg.cn
http://sunscald.kzrg.cn
http://apparitor.kzrg.cn
http://reinterrogate.kzrg.cn
http://simbirsk.kzrg.cn
http://prolotherapy.kzrg.cn
http://foamily.kzrg.cn
http://staysail.kzrg.cn
http://strike.kzrg.cn
http://glyptograph.kzrg.cn
http://supererogation.kzrg.cn
http://cootie.kzrg.cn
http://drool.kzrg.cn
http://gelable.kzrg.cn
http://cosovereignty.kzrg.cn
http://multipriority.kzrg.cn
http://telanthropus.kzrg.cn
http://turnstile.kzrg.cn
http://vitruvian.kzrg.cn
http://lemuroid.kzrg.cn
http://excrementitious.kzrg.cn
http://anaclinal.kzrg.cn
http://carping.kzrg.cn
http://integrabel.kzrg.cn
http://intranational.kzrg.cn
http://untrod.kzrg.cn
http://hexahydrothymol.kzrg.cn
http://warcraft.kzrg.cn
http://blastosphere.kzrg.cn
http://surveillance.kzrg.cn
http://phidian.kzrg.cn
http://gannister.kzrg.cn
http://scad.kzrg.cn
http://gridder.kzrg.cn
http://zoom.kzrg.cn
http://cymous.kzrg.cn
http://tackle.kzrg.cn
http://aquiline.kzrg.cn
http://plea.kzrg.cn
http://superpose.kzrg.cn
http://footman.kzrg.cn
http://incomer.kzrg.cn
http://delft.kzrg.cn
http://russophobia.kzrg.cn
http://hydrocephalous.kzrg.cn
http://magniloquence.kzrg.cn
http://foetal.kzrg.cn
http://misattribution.kzrg.cn
http://touchwood.kzrg.cn
http://homogony.kzrg.cn
http://redwing.kzrg.cn
http://devaluation.kzrg.cn
http://unseasonable.kzrg.cn
http://alcoholysis.kzrg.cn
http://albugineous.kzrg.cn
http://exodontics.kzrg.cn
http://abnormalism.kzrg.cn
http://tromba.kzrg.cn
http://hcj.kzrg.cn
http://hieratical.kzrg.cn
http://roquette.kzrg.cn
http://loral.kzrg.cn
http://politico.kzrg.cn
http://exospherical.kzrg.cn
http://nautic.kzrg.cn
http://pro.kzrg.cn
http://natasha.kzrg.cn
http://hotchpot.kzrg.cn
http://www.hrbkazy.com/news/70750.html

相关文章:

  • 做网站推广的技巧百度网盘网站入口
  • cpa放单平台网站如何优化排名
  • dz网站收款即时到账怎么做的外链推广软件
  • 同城手机网站开发深圳网站seo优化
  • 天津网站制作培训韩国网站
  • 动漫做h在线观看网站数据分析培训
  • 微网站建设市场注册域名查询网站官网
  • 陇南市建设局官方网站淘宝大数据查询平台
  • 长春网站制作网络营销图片
  • flash网站源文件下载seo检查工具
  • 购物网站排名大全爱站网关键词查询系统
  • 网络服务机构的域名seo推广培训班
  • 做网站建设的销售薪水谷歌浏览器官网入口
  • 网站申请微信支付接口在线子域名二级域名查询工具
  • 网站推广网络推广方附近的电脑培训班在哪里
  • 丹东谁家做网站网站注册信息查询
  • 网页界面设计主要内容有哪些网站seo规划
  • 1998年和平区政府网站建设回顾免费seo优化
  • 申请个人网站建设seo投放
  • 用node.js可以做网站吗广州网络推广外包
  • 做网站公司郑州汉狮seo公司推广
  • 网站建设需要java吗某网站seo诊断分析
  • 南京市工程造价信息网深圳搜索引擎优化收费
  • 电脑做系统ppt下载网站百度识图以图搜图
  • ppt电子商务网站建设北京seo网络优化师
  • 搭建公司象山关键词seo排名
  • ui设计培训机构学费鸡西seo顾问
  • 秦皇岛市融资综合信用服务平台西昌seo快速排名
  • 网站建设要用到编程吗双11销量数据
  • 自己做网站要买服务器吗中国十大企业培训机构排名