• 0755-82538016
  • 0755-82560826
  • 深圳网站建设_APP小程序开发_博纳网络

    • 网站建设案例
      • ";

        营销网站建设

        全网营销网站

        高端网站建设

        商城网站建设

        外贸网站建设

        小程序开发

        区块链开发

        物联网项目开发

        定制app开发

        在线教育网站

        速成网站建设

        服装网站建设

        餐饮网站建设

        珠宝首饰网站

        机械制造网站

        文化旅游网站

        家装建材网站

        美容化妆品网站

        数码产品网站

        模板案例库

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站推广
      • ";

        网站优化基础

        建站优化

        网站优化

        营销推广

        整站优化

        推广帮助

        谷歌搜索

        推广方案

        推广套餐

        推广技巧

        百度排名

        巧用微博推广

        直播视频网站推广法

        微信推广网站方法

        网站外链推广

        公共微信号推广

        网站优化闲谈

        常见问题

        公司资讯

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站制作资讯
      • ";

        网站制作

        外贸网站建设

        网站设计

        网站代运营

        深圳网站建设专栏

        深圳小程序开发

        网站改版

        APP开发

        网站建设方案

        安全维护

        软件开发

        平台搭建

        建站行业资讯

        域名注册

        虚拟主机

        企业邮局

        国外主机

        VPS独享空间

        免备案香港服务器

        如何解析域名

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站报价
      • ";

        网站报价

        建站方案

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 公司动态
      • ";
        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 关注博纳
      • ";

        网站制作精英团队

        网站建设公司愿景

        公司介绍

        主营业务

        博纳文化

        加入博纳

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 联系我们
      • ";

        网站建设公司联系方式

        网站建设、网站制作公司乘车路线

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
      网站制作资讯

      当前位置:

        主页网站制作资讯APP开发开发APP如何利用Canvas核心绘图技术?

      开发APP如何利用Canvas核心绘图技术?

      发布时间:2019-07-26

      文章编辑:网站建设 文章来源:APP开发 浏览量:次

        开发APP如何利用Canvas核心绘图技术?深圳APP开发公司本文介绍HTML5核心的绘图控件Canvas。绘图<canvas>标签用于定义图形,比如图表图像等,是HTML5标准新提供的绘图容器。
        绘制图形画图软件已经不再是本地应用的专利了,越来越多的网站提供了在线版的画图应用。有的通过Flash实现,有的通过HTML5实现。本例给出了HTML5实现的简单画板。画板分成两个部分,第1部分为矩形,第2部分为圆形。两部分都有1个调节区和1个画布区。画布区默认绘制1个对应图形,调整颜色控件或拖动滑块同步作用于绘制的图形。通过本示例可以了解Canvas图形绘制接口的使用。使用Chrome浏览器打开网页文件,运行效果如图6.6所示。
      点击“矩形”颜色控件,设置画布中的黄色矩形颜色为红色,然后点击“圆形”颜色控件,设置画布中的蓝色圆形颜色为绿色,效果如图6.7所示。
      利用编辑器打开“6-4.绘制图形:矩形和圆形.html”文件,代码如下:
      【代码6-4】
      01 <! DOCTYPE HTML> 02 < html> 03 < head> 04 < style> 05 ul{ float: left; list- style: none; } 06 hr{ clear: both; } 07 canvas{ border: 2px solid black; float: left; margin: 15px;
      15px; } 08 </ style> 09 </ head> 10 < body> 11 < header>< h2> 绘制 图形: 矩形 和 圆形</ h2></ header> 12 <!-- 矩形 Canvas 画布 设置 区 --> 13 < ul> 14 < li>< h3> 矩形</ h3></ li> 15 < li> 颜色:< input id=" color_ rect" type=" color" value="# eabb02" /></li> 16 < li> X 轴:< input id=" x_ rect" type=" range" min=" 0" max=" 150" value=" 75" step=" 1" /></li> 17 < li> Y 轴:< input id=" y_ rect" type=" range" min=" 0" max=" 150" value=" 75" step=" 1" /></li> 18 < li> 宽度:< input id=" width_ rect" type=" range" min=" 0" max=" 200" value=" 50" step=" 1" /></li> 19 < li> 高度:< input id=" height_ rect" type=" range" min=" 0" max=" 200" value=" 50" step=" 1" /></li> 20 </ ul> 21 <!-- 圆形 Canvas 画布 设置 区 -->
      22 < ul> 23 < li>< h3> 圆形< h3></ li> 24 < li> 颜色:< input id=" color_ circle" type=" color" value="# 506cc0"/></ li> 25 < li> X 轴:< input id=" x_ circle" type=" range" min=" 0" max=" 200" value=" 100" step=" 1" /></li> 26 < li> Y 轴:< input id=" y_ circle" type=" range" min=" 0" max=" 200" value=" 100" step=" 1" /></li> 27 < li> 半径:< input id=" radius_ circle" type=" range" min=" 0" max=" 100" value=" 25" step=" 1" /></li> 28 </ ul> 29 < hr /> 30 <!-- 矩形 Canvas 画布 --> 31 < canvas id=" canvas_ rect" width=" 200" height=" 200"></ canvas> 32 <!-- 圆形 Canvas 画布 --> 33 < canvas id=" canvas_ circle" width=" 200" height=" 200"></ canvas> 34 </ body> 35 < script> 36 (function () { 37 // 获取 矩形 Canvas 画布 绘图 上下文
      38 var content_ rect = document. getElementById(' canvas_ rect') .getContext(" 2d"), 39 // 获取 圆形 Canvas 画布 绘图 上下文 40 canvas_ circle = document. getElementById(' canvas_ circle') .getContext(" 2d"); 41 function draw_ rect() { // 获取 控 件数 据 绘制 矩形 42 content_ rect. clearRect( 0, 0, 300, 300); // 清空 给定 矩形 43 content_ rect. fillStyle = color_ rect. value; // 填充 矩形 画布 原色 44 content_ rect. fillRect( // 填充 矩形 45 parseInt( x_ rect. value), // 矩形 左 上角 的 x 坐标 46 parseInt( y_ rect. value), // 矩形 左 上角 的 y 坐标 47 parseInt( width_ rect. value), // 矩形 的 宽度, 以 像素 计 48 parseInt( height_ rect. value) // 矩形 的 高度, 以 像素 计 49 ); 50 };
      51 var color_ rect = document. getElementById(' color_ rect'), // 获取 矩形 颜色 选择 元素 52 x_ rect = document. getElementById(' x_ rect'),// 获取 矩形 x 轴 滑 块 元素 53 y_ rect = document. getElementById(' y_ rect'),// 获取 矩形 y 轴 滑 块 元素 54 width_ rect = document. getElementById(' width_ rect'), // 获取 矩形 宽度 滑 块 元素 55 height_ rect = document. getElementById(' height_ rect'); // 获取 矩形 高度 滑 块 元素 56 // 循环 矩形 设置 元素, 绑 定数 据 变更 change 事件 57 [color_ rect, x_ rect, y_ rect, width_ rect, height_ rect]. forEach( function (item) { 58 item. addEventListener(' change', draw_ rect, false); 59 }); 60 draw_ rect(); // 绘制 默认 矩形 61 function draw_ circle() { // 获取 控 件数 据 绘制 圆形 62 canvas_ circle. clearRect( 0, 0, 300, 300); // 清空 给定 矩形 63 canvas_ circle. fillStyle = color_ circle. value; //
      // 填充 矩形 画布 原色 64 canvas_ circle. beginPath(); // 起始 一条 路径 65 canvas_ circle. arc( // 创建 圆形 66 parseInt( x_ circle. value), // 圆的 中心 的 x 坐标 67 parseInt( y_ circle. value), // 圆的 中心 的 y 坐标 68 parseInt( radius_ circle. value), // 圆的 半径 69 0, // 起始 角, 以 弧度 计 70 2 * Math. PI, // 结束 角, 以 弧度 计 71 true // 逆时针 或 顺时针 绘图 72 //( false: 顺时针, true: 逆时针) 73 ); 74 canvas_ circle. closePath(); // 创建 从 当前 点 回到 起 始点 的 路径 75 canvas_ circle. fill(); // 填充 当前 绘图 76 }; 77 var color_ circle = document. getElementById(' color_ circle'),
      circle'), // 获取 圆形 颜色 选择 元素 78 x_ circle = document. getElementById(' x_ circle'), // 获取 圆形 x 轴 滑 块 元素 79 y_ circle = document. getElementById(' y_ circle'), // 获取 圆形 y 轴 滑 块 元素 80 radius_ circle = document. getElementById(' radius_ circle'); // 获取 圆形 半径 滑 块 元素 81 // 循环 圆形 设置 元素, 绑 定数 据 变更 change 事件 82 [color_ circle, x_ circle, y_ circle, radius_ circle]. forEach( function (item) { 83 item. addEventListener(' change', draw_ circle, false); 84 }); 85 draw_ circle(); // 绘制 默认 圆形 86 })(); 87 </ script> 88 </ html>
      代码第12~20行是矩形调节区的HTML结构,第21~28行是圆形调整区的HTML结构。
      代码第31和33行分别是矩形和圆形的画布。
      代码第38和40行分别从文档中获取对应画布的上下文。
      代码第41~50行为函数draw_rect,用于在画布上绘制矩形。该函数第42行代码清空画布上固定矩形区域的内容,就像平时所用的橡皮擦。clearRect方法拥有4个参数,
      语法如下:context.clearRect(x,y,width,height)
      x:要清除的矩形左上角的x轴坐标。
      y:要清除的矩形左上角的y轴坐标。
      width:要清除的矩形的宽度,以像素计。
      height:要清除的矩形的高度,以像素计。代码第43行获取矩形调节区颜色控制的值,设置矩形画布的颜色。
      代码第44~49行填充1个矩形,fillRect方法拥有4个参数,参数用法与clearRect方法相同,语法如下:context.fillRect(x,y,width,height)代码第51~55行获取矩形调节区颜色控件和各滑块元素。代码第57~59行监听矩形调节区各控件的change事件。当各控件的值发生变化时,调用函数draw_rect重新绘制矩形。代码第60行调用函数draw_rect,使用矩形调节区各控件的默认值绘制默认矩形。
      圆形区的代码基本与矩形区的相似,只是在调用画布上下文的方法上略有不同,绘制圆形通过draw_circle函数实现。代码第64行调用方法beginPath,告诉画布开始一条新的路径。假使不调用该方法,每次绘制的图形会被重叠。代码第65~73行调用方法arc以给定的坐标点为中心点以指定半径画1条弧,语法如下:context.arc(x,y,radius,startAngle,endAngle,counterclockwise)x,y:弧圆心坐标。radius:弧圆心半径。startAngle,endAngle:弧的开始点和结束点弧度。counterclockwise:弧沿逆时针true或顺时针false绘制。代码第74行调用closePath方法关闭之前打开的路径。第75行调用fill方法,使用设置的fillStyle属性颜色填充绘制的路径。好了,APP开发公司本文关于“开发APP如何利用Canvas核心绘图技术?”的相关知识就分享到这里,谢谢关注,博纳网络编辑整理。
       

      当前文章链接:/construction/appkaifa/3294.html
      上一篇:安排 APP发布的平台和设备 下一篇:APP开发怎么平衡企业需求和用户需求?
      返回列表
      如果您觉得案例还不错请帮忙分享:

      [声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【qin@198bona.com 】,我们在确认后,会立即删除,保证您的版权。

      相关案例推荐

      • 聚车金融

        聚车金融

        APP

        聚车金融

      • 天骄教育

        天骄教育

        H5手机站

        天骄教育

      • 偃师市唐僧寺玉柱仿古工艺制品厂

        偃师市唐僧寺玉柱仿古工艺制品厂

        装饰/设计

        偃师市唐僧寺玉柱仿古工艺制品厂

      资讯分类

      • 网站制作
      • 外贸网站建设
      • 网站设计
      • 网站代运营
      • 深圳网站建设专栏
      • 深圳小程序开发
      • 网站改版
      • APP开发
      • 网站建设方案
      • 安全维护
      • 软件开发
      • 平台搭建
      • 建站行业资讯
      • 域名注册
      • 虚拟主机
      • 企业邮局
      • 国外主机
      • VPS独享空间
      • 免备案香港服务器
      • 如何解析域名

      最新发布

      • 社区APP开发上线后影响用户使用的粘性有哪些?
      • 为什么说大健产业O2OAPP开发潜力无限
      • 网络公司对社区O2OAPP开发基本认识
      • 工业4.0时代怎样做好一个APP的开发工作?
      • APP开发公司分析APP应用开发下一个巨头在哪些领域?
      • APP电子商务平台开发前景如何?
      • 社交类型APP开发需要具备的五个必要条件
      • 社交类型APP平台开发使用小程序还是APP模式好?
      • 使用HTML语言开发APP商城可以吗?
      • 社区O2OAPP开发的方向选择

      相关资讯

      • APP网站制作流程以及栏目分布
      • 企业网站优化人员面对搜索引擎的困惑
      • 企业门户网站如何做好针对搜索引擎的优化工作
      • APP/PC购物商城网站如何做好产品图片的优化技巧
      • 网站软文内容以及网站外链存在的几种形式对网站有多大影响
      • 如何做好网站软文标题的描述更适合搜索引擎的需要?
      • 网站建设好后期出现被搜索引擎降权的几个主要因素
      • 小程序开发制作前途取决于市场,别被您的同行抢了先机
      • APP开发公司提醒您关注:电商平台要求商家“二选一”引多方不满 专家提建议
      • APP为什么会在我们的手机界面上变成僵尸图标?

      热门搜索

      • 小程序开发
      • 网站建设
      • 设计公司
      • 手机网站制作
      • 网站代运营
      • 淘宝tTP公司
      • 关键词布局
      • 网站设计
      • 品牌网站建设
      • 商业网站制作

      Copyright © 2021 博纳网络 版权所有  粤ICP备17054727号

      • 🏠

        首页

      • 💬

        咨询

      • 📞

        通话

      • 📂

        案例

      • ⬆

        返回