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%以上!
  • IF:4.9,录用比例83%,中科院1区TOP《ORGANIC LETTERS》

    2025-06-09
    《 Organic Letters 》是一本在有机化学领域具有较高学术影响力和快速审稿速度的国际顶级期刊。该sci期刊对原创性要求较高,但其录用率高达83%,适合有实力的研究者投稿,具体期刊详情如下: 1、期刊基本信息 期刊ISSN:1523-7060 E-ISSN:1523-7052 2023-2024最新影响
  • sci论文外审三个月还没消息,怎么办?

    2025-06-09
    外审在sci论文审稿过程中最为专业和严格的,而外审是同行专家的评审,审稿周期的长短可能受审稿人数量、审稿人是否愿意接受审稿任务,以及审稿意见是否一致等因素的影响。那么。sci论文外审三个月还没消息,怎么办?可按照以下策略逐步处理: 一、核查目标sci期刊的审
  • 学术干货!SCI/SSCI论文Word和LaTeX格式模板

    2025-06-09
    撰写一篇高质量的SCI/SSCI论文,对于可以人员来说是提升学术影响力的重要途径。为了帮助新手高校掌握SCI/SSCI论文写作技巧,今天在这里为大家汇总整理了 SCI/SSCI论文Word和LaTeX格式模板 的概览和获取途径,供大家参考: 一、SCI/SSCI论文Word格式模板 (一)获取SCI/
  • 医学选刊!好投稿的传染病学sci期刊推荐(附报价和IF)

    2025-06-07
    医学领域sci期刊众多,其中包括传染病学,研究人员在选择期刊之前,务必确保期刊范围与论文研究方向和水平相符。以下是为大家推荐的部分好投稿的传染病学sci期刊,供大家参考: 1、Infectious Diseases Now 中科院:4区 2023-2024自引率:6.90% 年文章数:110 2020-202
  • 好中易投稿的公共卫生、环境卫生与职业卫生SCI期刊(中科院一区TOP)

    2025-06-07
    公共卫生、环境卫生与职业卫生领域方向sci期刊众多,作者可根据单位要求、论文质量和研究方向选择合适的sci期刊投稿。为了帮助作者快速选刊,今天在这里为大家推荐5本 好中易投稿的公共卫生、环境卫生与职业卫生SCI期刊(中科院一区TOP) ,供大家参考: 1、BMJ Global
回到顶部