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实例教



  • 评职称,副主编出书怎么查询真伪

    2025-09-09
    在评职称过程中,副主编出书的真伪核查至关重要,因副主编信息无法通过公开系统直接查询,作者需通过权威方法综合验证,避免因材料造价影响评审资格。下面一起看看评职称,副主编出书怎么查询真伪。 1、国家新闻出版署官网查询 可通过国家新闻出版署官网查询,输入书籍
  • 核心书评是什么意思?评职称是否认可!

    2025-09-09
    核心书评是指发表在核心期刊上的书评文章,通常针对某部专业性、学术性较强的著作(如学术专著、译著、经典著作)进行的评论性、分析性或综述性文章。它是一种评论性文章,作者在撰写核心书评时,需要具备深厚的学术功底和文字表达能力,客观、精准地评价书籍的学术价
  • 艺术类国际期刊:SCI/SSCI/AHCI期刊精选

    2025-09-09
    作为国内外艺术研究人员,无论职称晋升还是毕业,发表一篇高质量的sci、ssci、ahci期刊,优势多多。那么,为了能够帮助大家快速选择合适的艺术类期刊,今天在这里为大家推荐精选了部分 艺术类国际期刊:SCI/SSCI/AHCI期刊 ,供参考: 1、 INTERNATIONAL JOURNAL OF ART
  • 2025年陕西省建设工程专业评(中级)职称学历资质+论文+著作+专利要求

    2025-09-09
    建设工程专业范围较为广泛,参评人在申报中级工程师时,一定要注意自身基础条件和学生成果要求,以确保符合单位申报要求。以下是为大家介绍的 2025年陕西省建设工程专业评(中级)职称学历资质+论文+著作+专利要求 ,供大家参考: 一、评审专业 建设、土木、测绘(测绘
  • 2025年广西北海市中小学(正高和副高级)教师职称论文+著作条件

    2025-09-08
    职称晋升,不只是医生、大学教师和工程师竞争激烈,为了能够在相关领域脱颖而出,中小学教师也一直卷。以下是 2025年广西北海市中小学(正高和副高级)教师职称论文+著作条件 ,供参考: 一、正高级职称:论文+著作(5篇) 1.申报人以代表性成果形式呈现的,须经本单位
  • 中国临床研究成果发表国际肝病领域顶级期刊《Hepatology》

    2025-08-12
    2025 年 8 月 11 日, 国际肝病顶级期刊《 Hepatology 》 发表了中国微芯生物自主研发的 2 型糖尿病药物西格列他钠单药治疗代谢相关脂肪性肝炎(MASH)的 Ⅱ 期临床研究成果。 (Metabolic Dysfunction-AssociatedSteatohepatitis,MASH)是一种以肝脏脂肪过度积累和炎
  • 注意!《日本侵华南京大屠杀研究》入选CSSCI来源期刊

    2025-08-12
    近日,根据《中文社会科学引文索引来源期刊(集刊)遴选办法》,南京大学中国社会科学研究评价中心评定, 《日本侵华南京大屠杀研究》入选CSSCI(2025-2026)来源期刊。 这是杂志继入选中文社会科学引文索引(CSSCI) 扩展版来源期刊中国人文社会科学期刊AMI综合评价新刊
  • 最新!演员张译获国家一级演员职称,享受正高级职称待遇

    2025-08-06
    2025年7月29日, 北京市高级专业技术资格评审委员会 发布公示,张译(公示名张毅)通过 一级演员(正高级职称) 专业技术资格评审。据了解,一级演员是中国对为繁荣国家文艺事业作出突出贡献的演员给予的领域最高职称。 公示显示,北京市艺术系列(高层次、急需紧缺、
  • 2025年中国在国际顶刊发文数量最新排名:北大第一/复旦第三

    2025-07-29
    2025我国在国际顶刊发文数量最新排名,北大第一,复旦第三 北京大学稳居第一 2025年1-6月份北大的论文在《 Nature 》上发表14篇、《Science》上发表8篇、《Cell》上发表6篇,在CNS三大国际顶刊上发文数量总计28篇,远远超越第二名14篇,可谓是遥遥领先,稳居榜首。 清
  • 川北医学院:本科生履历“逆天”顶刊发了7篇SCI

    2025-07-18
    7月17日,川北医学院通报调查结果,这名本科生在奖项申请答辩的PPT里,成果表述不严谨引发质疑。 本科生履历逆天 网友直呼罗博士 网传的答辩PPT里,川北医学院口腔医学院2022级学生罗子甯的成绩单让人眼花缭乱:兼任多个顶级期刊审稿人,以第一作者或通讯作者身份,在
回到顶部