goback
月期刊咨询网
当前位置:首页>>计算机网络论文>>正文

计算机论文辨析Canvas绘图机制的优劣


所属栏目:计算机网络论文
发布时间:2014-09-23 13:19:41  更新时间:2014-09-23 13:52:40

已签订领域:化学工程/制药,医学题目:**作为抗癌剂***催化剂**取代苯丙***SCI四区 直击了解更多选题

已签订领域:环境科学-公共卫生题目:用**电***生物传感器**癌症**SCI二区 直击了解更多选题

已签订领域:环境科学-公共卫生题目:**氧化石墨烯纳米***材料的生物传感器***结肠癌生物**癌胚****SCI二区 直击了解更多选题

已签订领域:环境科学-公共卫生题目:聚合物纳米***a-硫辛酸***在神经炎症***应用***临床分析SCI二区 直击了解更多选题

已签订领域:计算机视觉/遥感/智能驾驶/汽车题目:**深度学习***高分辨率遥感***车辆检***SCI三区 直击了解更多选题

已签订领域:企业管理题目:社会交流***领导***倾向***方向SSCI,SCI三区,二区 直击了解更多选题

已签订领域:企业管理题目:**中小企业社交媒体****可持续绩效***因素探析SSCI,SCI三区,二区 直击了解更多选题

已签订领域:环境科学,公共卫生题目:利用硫氨酸***石墨烯纳米***电化学***传感器实现癌胚抗原***SCI二区 直击了解更多选题

已签订领域:环境科学,公共卫生题目:基于抗***纳米复合***高性能***早起癌症诊断***SCI二区 直击了解更多选题

已签订领域:经济,能源题目:***政治冲突****绿色金融、金融**、气***化***SCI四区 直击了解更多选题

已签订领域:经济,能源题目:冲***中能源不安全对***和环境***SCI四区 直击了解更多选题

已签订领域:教育题目:大学生***社交媒体***成绩影响***SSCI三区 直击了解更多选题

已签订领域:教育题目:巴基斯坦***学习实施的***的**SSCI二区 直击了解更多选题

已签订领域:教育题目:大学生对****下网络教学**思***SSCI二区 直击了解更多选题

已签订领域:教育题目:**教师和学生对影响***医疗**效果的****看法SSCI三区 直击了解更多选题

已签订领域:计量经济学题目:**货币、黄金、**和美国***的波动***相互依赖性:**数据的分析SSCI一区 直击了解更多选题

已签订领域:计量经济学题目:东南亚***内**趋同***中等收入**:新**的***SSCI二区 直击了解更多选题

已签订领域:建筑,历史题目:历史景点在***旅游发***中的***影响**(**研究:**历史***)SSCI,SCI一区 直击了解更多选题

已签订领域:领导力,管理题目:量化**领导对角色绩效***响:**冲突与工作自主性***作用SCI二区 直击了解更多选题

已签订领域:信息技术,教育题目:数字***环境对学生学习成绩***:游戏**和***现实在教育***作用SSCI四区 直击了解更多选题

已签订领域:信息技术,教育题目:信息技术***续决策之间的***:创新***识的**作用SSCI二区 直击了解更多选题

已签订领域:信息技术,教育题目:课程**对大学生***发展的影响:学习习惯和***的***作用SSCI一区 直击了解更多选题

已签订领域:信息技术,教育题目:信息技术***与可持续决策**:高等***学生认知***作用SSCI二区 直击了解更多选题

已签订领域:计算机,英语教学题目:英语****学**与人工智能****学习SCI三区 直击了解更多选题

已签订领域:计算机,音乐题目:评价**和音乐**对学生成绩***的影响SCI三区 直击了解更多选题

已签订领域:人体工程,心理学题目:基于预先处理模型***模式人体工程学***女生肌肉骨骼***预防行为*** 直击了解更多选题

已签订领域:人体工程,心理学题目:制定一个***人体工程学**,以识别、优先考虑***职业压力源的*** 直击了解更多选题

已签订领域:人体工程,心理学题目:多重工作**压力和工作***:***工效学方法的混合方法*** 直击了解更多选题

已签订领域:数学,经济题目:数学模型***结构调整和经济转型****研究 直击了解更多选题

已签订领域:数学,经济题目:***时间**数学模型在***媒体营销**中的应用*** 直击了解更多选题

已签订领域:数学,经济题目:***时间**模型在***物流运**能力***研究 直击了解更多选题

已签订领域:数学,经济题目:碳****经济的数学模型****研究 直击了解更多选题

已签订领域:农村经济题目:农****社区**发展***分**SCI四区 直击了解更多选题

已签订领域:农村经济题目:创业***对乡村****发展的****SCI四区 直击了解更多选题

已签订领域:农村经济题目:农村创业****的空间*****究SCI四区 直击了解更多选题

已签订领域:医学,电化学题目:纳米颗粒*****及其在癌症****和重金属*****检测中的应用SCI三区 直击了解更多选题

已签订领域:医学,电化学题目:基于*****前列腺癌药物氟****检测方法的*****腺癌治疗SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:气海***********金纳米颗粒的新型****************粘土及其对胃癌********************抗癌SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:基于抗***********GCE纳米***********材料的高性能*******************早期癌症SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:用******电化学生物传感器*****癌症***************SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:基于*****石墨烯纳米****材料的生物传感******用于测定结肠*****生物*****SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:聚合***纳米复合电极*****疏辛酸电化学检测*********SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:利用****酸/**糖**石墨烯纳米复合修饰的电化学*****SCI二区 直击了解更多选题

已签订领域:环境能源,绿色投资题目:环境能源、绿色投资、城市化和环境类方向SCI三区 直击了解更多选题

已签订领域:计算机,英语教学题目:英语教学**人工智能***习SCI 直击了解更多选题

已签订领域:计算机,音乐题目:评价**和音乐形式*学生***影响SCI三区 直击了解更多选题

已签订领域:经济,绿色投资题目:***能源效率***化之间的***SCI三区 直击了解更多选题

已签订领域:经济政策题目:***阐明**印度经济***的关系SCI三区 直击了解更多选题

已签订领域:经济,金融题目:***国家的能源***重***SCI 直击了解更多选题

已签订领域:经济,金融投资题目:***融新之间***直接投资***SCI三区 直击了解更多选题

已签订领域:经济,数学,统计学,管理学题目:非***想重限制下***袭评价***SSCI四区 直击了解更多选题

已签订领域:经济,数字,管理学题目:基干***生产系统***SSCI四区 直击了解更多选题

已签订领域:农业,土壤科学题目:不同***有机覆盖***养分循环SSCI 直击了解更多选题

已签订领域:电力与能源系统,管理题目:pv***氢定价的***随***型稀SSCI,SCI二区 直击了解更多选题

已签订领域:建筑规划,计算机题目:使用***因子分析法***可持续***SCI三区 直击了解更多选题

已签订领域:工程技术,纺织工程,材料科学题目:甘***淀粉酶的提取***退浆中的应用SCI四区 直击了解更多选题

已签订领域:渔业,鱼类生理学题目:饲料***镉毒性的交互***生长***病理学***SCI二区 直击了解更多选题

已签订领域:渔业,鱼类生理学题目:****鱼水源***起的生******SCI三区 直击了解更多选题

已签订领域:金融,环境经济题目:*****预算在能效、绿色***的作用SCI 直击了解更多选题

已签订领域:应用数学/计算物理题目:***非线性库***自相位调制***SCI三区 直击了解更多选题

已签订领域:计算机,医学检测题目:***COVID-19***力***算法***决策SCI三区 直击了解更多选题

已签订领域:计算机,物联网,智慧城市题目:基于***物联网****算法SCI三区 直击了解更多选题

  摘 要: 通过比较SVG和Canvas两种绘图机制,辨析了使用Canvas在网页中绘图方案的优缺点。使用一个在线写字本案例,论述了Canvas捕获用户的鼠标事件根据用户输入来绘图的过程。最后总结了Canvas绘图的特性以及应用前景。

  关键词: 计算机论文投稿,Canvas,绘图,写字本,事件

  Discussion about Canvas drawing scheme with example of notebook

  Li Anqin

  (Network Technology Department of South-China Institute of Software Engineering, Guangzhou, Guangdong 510990, China)

  Abstract: By comparing two different drawing mechanisms between the SVG and the Canvas, the merits and drawbacks of Canvas scheme drawing pictures on web page are analyzed. With the example of notebook on Windows, the process of drawing picture through catching the user's input and mouse events is discussed. The features and application prospect of Canvas drawing scheme are summarized.

  Key words: Canvas; drawing; notebook; event

  0 引言

  Canvas API是HTML5规范中在浏览器中绘图的程序接口,它为开发人员提供了一套二维绘图系统,在Canvas画布上融合javascript可以动态地生成和展示各种图像和动画,从而进行各种手机游戏开发、图表制作以及动态横幅广告展示等。在此之前,开发人员若要在浏览器中绘图,只能使用Adobe的 Flash和SVG(Scalable Vector Graphics,可伸缩矢量图形),然而使用Flash的解决方案需要借助Flash Player插件来实现,而此插件不停地更新版本,这也会对用户造成一定的困扰。本文分析了完全靠浏览器实现的Canvas与SVG这两种绘图方案的区别,以一个在线写字本为例,阐述采用Canvas API在浏览器中根据用户输入进行绘图的方法的优劣。

  1 SVG和Canvas绘图技术比较

  SVG全称是Scalable Vector Graphics,即可伸缩矢量图形,是使用XML来描述二维图形和绘图程序的语言[1]。同Canvas API一样,SVG是一套在客户端生成绘图的解决方案,相比在服务器端生成的绘图技术来说,在客户端生成的绘图技术充分利用客户端浏览器这个强大的工具,不需要预先在服务器上读取和分析数据,可以有效地减轻服务器的压力,降低带宽的损耗,从而提高绘图的效率。Canvas和SVG都是基于 javascript脚本的解决方案,两者的区别在于:

  ⑴ Canvas绘制的图像是由一组二维像素网格来表示的栅格图形,而SVG绘制的矢量图形是基于图形本身的几何特征来表示的[2],因此,除非需要对Canvas区域重新渲染,否则使用Canvas绘制的图像在放大或缩小时会失真;

  ⑵ 从搜索引擎角度来看,SVG绘图中的文本能被搜索引擎获取,而Canvas中的文本实际上是图像的一部分,不能被搜索引擎识别;

  ⑶ SVG将画布中的元素作为HTML的一部分,同DOM API构成了一个矢量的绘图API,而Canvas不属于网页HTML的DOM结构或任何的命名空间,也不能直接检测鼠标单击了图像的哪个点,因此需要借助鼠标坐标在图像中的定位来实现。

  综上所述,相比起SVG绘图来说,Canvas仍具有一些明显的不足,但是HTML5规范中使用的是Canvas绘图机制,说明其仍具有一定的优势,如:Canvas没有将画布中的的元素作为对象进行存储,不需要在浏览器中大量地添加各种DIV元素,因此HTML代码较简洁,执行效率较好。另外,对于开发人员来说,Canvas入门较简单,而学习SVG需要有比较扎实的浏览器编程基础。

  2 Canvas绘图的应用

  Canvas绘图的应用非常广泛,既可以绘制静态的展示性的统计图表,也可以根据用户输入进行交互式的绘图,包括各种矩形、弧形、不规则图形等,为 HTML5的游戏开发提供了丰富的创意空间,也使交互性的设计成为了可能。下面就以用户输入来绘图的记事本为例说明Canvas绘图的过程。

  Canvas API是通过在网页上绘制一个矩形画布来实现绘图的,因此首先需要在网页中添加Canvas的矩形区域,设置其位于浏览器的最上层,添加CSS样式规则为 “z-index:3”,使其能捕获用户的鼠标动作,并预先定义好它的长宽,否则如果在CSS或JS中二次定义的话,会使图形发生按比例缩小或放大的情况 [3]。其次,在javascript标签中使用getContext(“2d”)方法来获取二维平面图的上下文环境,就类似于画家手中拿的画笔,使用这个对象,就可以使用Canvas程序中的代码接口实现各种图形的绘制。Canvas标签的代码如下:

  在记事本中允许用户自己定义画笔的颜色和粗细,采用HTML5中type="range"的input标签可以创建允许用户设置笔触粗细的滑动条,使用type="color"的input输入框创建控制笔触颜色的选择器。这里将灰色文字作为用户描画的蓝本,置于Canvas对象的下一层,即“z- index:2”,将田字格的背景置于最底层,即“z-index:1”,建立修改画笔属性的表单,实现的界面如图1所示。

  通过给Canvas对象增加三个事件监听器,获得用户在田字格中使用鼠标写字的动作,根据用户鼠标的位置来判断用户写字的笔划。其代码总结如表1所示。

  首先,用户按下鼠标表示开始绘图,这是一个瞬间的事件,为MouseDown的事件添加名为“drawStart”函数,在该函数中使用全局变量记录下用户点击鼠标的坐标位置作为绘图的起点;用户在移动鼠标(MouseMove)时,添加名为“drawLine”的事件,在该事件中获取用户设定的笔触大小和颜色以进行绘图,此事件会随着用户鼠标位置的移动不停地被执行;最后,用户松开鼠标时(MouseUp)为Canvas对象添加名为 “drawEnd”的事件,通知浏览器停止绘图。其中移动鼠标时绘图的核心代码如下:

  drawWord=function(x1, y1, x2, y2) {

  var c=document.getElementById("myWrite");

  if (c && c.getContext("2d")) {

  var cxt=c.getContext("2d");

  //根据鼠标的位置

  cxt.beginPath();

  cxt.moveTo(x1, y1);

  cxt.lineTo(x2, y2);

  cxt.closePath();

  //开始画线,根据用户的选择来设置线条属性

  cxt.lineWidth=$("#lineWidth").val();

  cxt.strokeStyle=$("#lineColor").val();

  cxt.stroke();

  }

  };

  同时,用户点击其他文字的时候采用Canvas API的clearRect()的方法清除用户先前的绘图痕迹,重新开始一副新的绘图,最终实现效果如图2所示。

  通过以上案例可以看出,使用Canvas绘图代码较为简单,有网页设计基础的人员都能够掌握,它可以模拟逼真的鼠标写字的效果,通过捕获鼠标的坐标可以准确定位画笔的位置,并提供个性化的画笔属性的选择。但是也存在一定的缺陷,如果用户移动鼠标过快,则呈现出的线条不够流畅,线性只是单调的矩形,不能根据用户按住鼠标的力度调整线条粗细等。但是上述情况在大多浏览器绘图机制中都存在,因此有待浏览器绘图技术的进一步发展来改善。需要注意的是,Canvas绘图在不同的浏览器中的支持情况不同,本案例在下述浏览器中的测试情况如表2所示。

  说明:“×”表示不支持,“○”表示能够正确的呈现

  3 结束语

  Canvas绘图是HTML5这个新的标准中推出的绘图程序接口,它可以不借助于任何插件,根据用户输入进行绘图,实现良好的交互效果。它基于客户端 javascript脚本来实现,结合HTML5的其他技术可以实现兼容不同移动平台的移动游戏开发、数据图表展示以及在线绘图等功能。虽然相比于 SVG,它还存在一定的不足,但是随着浏览器实现技术的提升以及人们对Web应用的需求变得越来越高,它一定会展现出良好的应用前景。

  参考文献:

  [1] 万本庭,陈明.基于SVG的矢量图形库管理模型[J].计算机工程,

  2006.2:65-67

  [2] Peter Lubbers[荷],Brian Albers[美],Frank Salim[美]著,柳靖,李杰,刘

  淼译.HTML5程序设计(第二版)[M].人民邮电出版社,2012.

  [3] Brian P.Hogan[美]著,李杰,刘晓娜,朱嵬译.HTML5和CSS3实例教



月期刊平台服务过的文章录用时间为1-3个月,依据20年经验,经月期刊专家预审通过后的文章,投稿通过率100%以上!
  • 水利学报是ei吗?EI+北大核心+CSCD(附水利类最厉害三个期刊)

    2025-04-11
    《水利学报》是EI期刊,而且也是北大核心和CSCD核心期刊 ,显示了其在国内外学术界的认可度和极高的含金量,以及学术价值。作为一名水利工程师,投稿《水利学报》对于评职称无疑是一个加分项,具体详情如下: 1、基本信息 创刊:1956年 复合影响因子:4.871 综合影响因
  • 审稿快速,1-3个月录用的SCI期刊推荐

    2025-04-10
    每位作者都想要发表sci期刊论文,但想要成功发表,必须确保论文质量、创新性和数据的真实性、科学性和有效性,并符合目标期刊的要求。今天在这里为大家推荐部分 审稿快速,1-3个月录用的SCI期刊 ,供大家参考: 1、 BRAIN RESEARCH IF:2.7 2023-2024自引率:3.70% 审
  • sci论文图片来源怎么注明(附sci论文投稿流程详解)

    2025-04-10
    不同sci期刊对论文图片来源要求和规范存在差异性,作者在投稿之前,一定要遵循目标期刊的要求上传,以免出现不必要的问题。那么, sci论文图片来源怎么注明 ?详情如下: 1、了解期刊要求 在上传图片前,仔细阅读目标sci期刊的《作者指南》(Instructions for Authors
  • 教你如何摆脱中式英文,搞定SCI论文写作英文难题

    2025-04-09
    对于国内作者而言,撰写一篇高质量的SCI论文是非常困难的,毕竟国内外语言风格、习俗和时态存在一定的差异性。今天 教你如何摆脱中式英文,搞定SCI论文写作英文难题 ,助你撰写高质量的sci论文,快速完成发表。 一、SCI写作须避免使用中式英语 1、理解文化差异 中式英
  • 教师评副高正高级职称对发表的学术期刊有什么要求

    2025-04-09
    学术期刊论文是教师评高级职称成果之一,虽然一些单位还要去出版著作或申请专利,但一定要根据单位评审文件要求准备适合的学术期刊。今天在这里为大家介绍介绍 教师评副高正高级职称对发表的学术期刊有什么要求 。 一、期刊基本要求 1、正规期刊 期刊须具备CN刊号(国
回到顶部