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

大气企业网站模板自己建设网站不会咋办呀

大气企业网站模板,自己建设网站不会咋办呀,丹东网站建设,wordpress登陆页面美化1. 描述 ClipperOffset类封装了对打开路径和关闭路径进行偏移(膨胀/收缩)的过程。 这个类取代了现在已弃用的OffsetPaths函数#xff0c;该函数不太灵活。可以使用不同的偏移量(增量)多次调用Execute方法#xff0c;而不必重新分配路径。现在可以在一次操作中对开放和封闭路…1. 描述 ClipperOffset类封装了对打开路径和关闭路径进行偏移(膨胀/收缩)的过程。 这个类取代了现在已弃用的OffsetPaths函数该函数不太灵活。可以使用不同的偏移量(增量)多次调用Execute方法而不必重新分配路径。现在可以在一次操作中对开放和封闭路径的混合进行偏移。此外OffsetPaths的Limit参数的双重功能不仅让一些用户感到困惑而且当EndType是etRound和Jo时它也阻止了自定义RoundPrecision被分配。 当偏移闭合路径(多边形)时重要的是: 它们的方向是一致的即外多边形具有相同的方向而孔具有相反的方向它们不自相交。 2.属性 2.1 ClipperLib.ClipperOffset.ArcTolerance ArcTolerance只有在JoinType是jtRound或者当EndType是开放式轮廓JoinType jtRound and/or EndType etRound的时候才有效 ArcTolerance属性圆弧精度指定了近似处理弧线时可接受的最大不精确性(“公差”)。 ArcTolerance 默认值为0.25说明qd倒角偏离真实圆弧的最大距离不超过0.25。我们可以发现qd越小整个近似圆弧越光滑代价就是我们需要插入更多的顶点。 将公差降低到0.25以下不会改善平滑度因为顶点坐标仍将四舍五入为整数值。实现子整数精度的唯一方法是在偏移之前和之后进行坐标缩放参见下面的示例。 将ArcTolerance设置为偏移量delta弧半径的合理分数是很重要的。相对于偏移delta的较大公差将产生较差的弧近似值但同样重要的是非常小的公差将大大降低偏移性能同时提供不必要的精度。当偏移坐标已被缩放以保持浮点精度的多边形时这很可能是一个问题。 例如设想一组多边形在浮点坐标中定义将使用圆连接偏移10个单位解决方案是将浮点精度保持到至少小数点后6位。 为了保持这种程度的浮点精度并且考虑到Clipper和ClipperOffset都对整数坐标进行操作在偏移之前多边形坐标将被缩放108并四舍五入为整数。偏移delta和ArcTolerance也需要按相同的因子进行缩放。如果ArcTolerance保持默认的0.25个单位不变那么解决方案中的每个弧线将包含44000个顶点的一小部分而最终的弧线不精度将是0.25 × 10-8个单位即缩放逆转后。然而如果在最终未缩放的解决方案中0.1个单位是可接受的不精度那么ArcTolerance应该设置为0.1 × scaling_factor 0.1 × 108。现在如果缩放同样应用于ArcTolerance和Delta Offset那么在这个例子中定义每个弧的顶点数步骤将是23的一小部分。 Number ArcTolerancevar co new ClipperLib.ClipperOffset(); co.ArcTolerance 1.23; 2.2 ClipperLib.ClipperOffset.MiterLimit 该属性包含了一个比例系数(最大容忍距离/偏置距离)当大于最大容忍距离时则会使用1*delta距离来进行 默认的MiterLimit值大小是2这也是允许的最小MiterLimit大小如果没有规定合理的MiterLimit在部分尖锐的拐角处就会形成长的突起如下图 3. 方法 3.1 ClipperLib.ClipperOffset() 构造函数 ClipperOffset ClipperOffset(Number miterLimit 2.0, Number roundPrecision 0.25);var co new ClipperLib.ClipperOffset(2.0, 0.25); 构造函数包含了两个可选参数MiterLimit和ArcTolerance这两个参数和其同名的属性的含义是相同的。 MiterLimit只是在JoinType是jtMiter的时候才启用 ArcTolerance只有在JoinType是jtRound或者当EndType是开放式轮廓的时候才有效 3.2 ClipperLib.ClipperOffset.AddPath() void AddPath(Path path, JoinType jointype, EndType endtype);var path [{X:10,Y:10},{X:110,Y:10},{X:110,Y:110},{X:10,Y:110}]; var co new ClipperLib.ClipperOffset(2, 0.25); co.AddPath(path, ClipperLib.JoinType.jtMiter, ClipperLib.EndType.etClosedPolygon); 向ClipperOffset对象添加一个路径用来准备偏置 其中开放式路径只能被偏移一个正值 这个方法可以被多次调用。 3.3 ClipperLib.ClipperOffset.AddPaths() 向ClipperOffset对象添加路径为偏移做准备。这个方法可以被多次调用。 void AddPaths(Paths paths, JoinType jointype, EndType endtype);var paths [[{X:10,Y:10},{X:110,Y:10},{X:110,Y:110},{X:10,Y:110}],[{X:20,Y:20},{X:20,Y:100},{X:100,Y:100},{X:100,Y:20}]]; var co new ClipperLib.ClipperOffset(2, 0.25); co.AddPaths(paths, ClipperLib.JoinType.jtMiter, ClipperLib.EndType.etClosedPolygon); 3.4 ClipperLib.ClipperOffset.Clear() 清空所有多边形对象 去除了Clipper对象中所有存在的被裁剪对象和裁剪对象使得该Clipper对象可以重用 void Clear();var path [{X:10,Y:10},{X:110,Y:10},{X:110,Y:110},{X:10,Y:110}]; var co new ClipperLib.ClipperOffset(); co.AddPath(path, ClipperLib.JoinType.jtRound, ClipperLib.EndType.etClosedPolygon); co.Clear(); 3.5 ClipperLib.ClipperOffset.Execute() void Execute(Paths solution, Number delta); void Execute(PolyTree polytree, Number delta);var subj new ClipperLib.Paths(); var solution new ClipperLib.Paths(); subj[0] [{X:348,Y:257},{X:364,Y:148},{X:362,Y:148},{X:326,Y:241},{X:295,Y:219},{X:258,Y:88},{X:440,Y:129},{X:370,Y:196},{X:372,Y:275}]; var scale 100; ClipperLib.JS.ScaleUpPaths(subj, scale); var co new ClipperLib.ClipperOffset(2, 0.25); co.AddPaths(subj, ClipperLib.JoinType.jtRound, ClipperLib.EndType.etClosedPolygon); co.Execute(solution, -7.0); ClipperLib.JS.ScaleDownPaths(subj, scale); //draw solution with your own drawing function... DrawPolygons(solution, 0x4000FF00, 0xFF009900); 该方法有两个参数 第一个是接受结果的结构(可以是PolyTree或Paths中的一种) 第二个参数是指偏移量的大小–负值会收缩多边形正值会膨胀扩边多边形。 该方法可以被调用多次来实现对相同路径实现不同程度的偏置 关于缩放的注意事项 因为ClipperOffset使用整数坐标所以你必须缩放坐标以保持精度并使弧线平滑——在整数输入的情况下也是如此。 Javascript Clipper为此提供了四个函数ScaleUpPath、scaleupppaths、ScaleDownPath和ScaleDownPaths。如果JoinType为jtRound或EndType为etRound强烈建议进行缩放
http://www.hkea.cn/news/14504016/

相关文章:

  • 公司网站优化去哪里学seo网站优化服务商
  • 汽车网站建设开题报告Wordpress禁止爬虫ip
  • 建设美食网站的目的和功能定位wordpress 跳转链接地址
  • 深圳建设网站联系电话安卓手机网站源码下载
  • 2017我们一起做网站百度一下首页官网
  • 怎么修改网站的关键词学计算机的毕业后可以找什么工作
  • 中山市网站开发外包公司刚做网站做多用户还是单用户
  • 游戏网站设计风格有哪些旅游网站开发系统
  • 襄阳市住房城乡建设部网站广西网站建设与规划
  • 网站后台用esayui做公司推广发帖网站怎么做
  • 精品课程云网站建设招代理的网站要怎么做的
  • 汕头网站推广seo什么推广方法是有效果的
  • 网站空间支付方式郑州联通网站备案
  • 郑州电商网站建设网站内容发布平台源码
  • 网站开发构成微网站开发提供的服务
  • 漫画门户网站怎么做的启用中文域名大网站
  • 代做效果图网站好教学资源库 网站建设
  • 在哪里可以改动网站标题怎么做视频解析的网站
  • 外贸网站如何做推广是什么哪些网站容易被百度收录
  • php网站开发实例教程源码想做个人域名网站怎么做
  • 工具型网站有哪些城阳网站开发公司电话
  • 互联网行业招聘网站邯郸封控最新消息
  • asp.net做网站源代码网站开发设计培训
  • 网站建设技术团队有多重要性海外网站免费建设
  • 塑模毕业设计代做网站软件开发模型比较
  • 苏州知名网站制作公司久久文化传媒有限公司招聘信息
  • 北流科技网站建设宜兴网站制作
  • 骨骼型的网站wordpress变成静态网页
  • 上海手机网站制作哪家好上海企业注销流程
  • 网站建设贰金手指下拉贰壹做购物网站能不能赚钱