返回顶部
首页 > 资讯 > 前端开发 > JavaScript >怎么用html5和JavaScript创建一个绘图程序
  • 782
分享到

怎么用html5和JavaScript创建一个绘图程序

2024-04-02 19:04:59 782人浏览 安东尼
摘要

这篇文章主要介绍“怎么用HTML5和javascript创建一个绘图程序”,在日常操作中,相信很多人在怎么用html5和JavaScript创建一个绘图程序问题上存在疑惑,小编查阅了各式资料,整理出简单好用

这篇文章主要介绍“怎么用HTML5javascript创建一个绘图程序”,在日常操作中,相信很多人在怎么用html5和JavaScript创建一个绘图程序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用html5和JavaScript创建一个绘图程序”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

本文将引导你使用canvas和JavaScript创建一个简单的绘图程序。

首先准备容器Canvas元素,接下来所有的事情都会在JavaScript里面。

XML/HTML Code复制内容到剪贴板

  1. <canvas id="canvasInAPerfectWorld" width="490" height="220"></canvas>  

获取绘图环境,context对象提供了用于在画布上绘图的方法和属性

XML/HTML Code复制内容到剪贴板

  1. context = document.getElementById('canvasInAPerfectWorld').getContext("2d");  

开始绘图过程

首先我们需要存储绘图路径点坐标,addClick函数添加坐标点值到数组

JavaScript Code复制内容到剪贴板

  1. var clickX = new Array();   

  2. var clickY = new Array();   

  3. var clickDrag = new Array();//存储路径点   

  4. var paint;//是否绘制,mousedown时置为true   

  5. function addClick(x, y, dragging)   

  6. {   

  7.   clickX.push(x);   

  8.   clickY.push(y);   

  9.   clickDrag.push(dragging);   

  10. }  

redraw函数每次调用整个canvas就会重新绘制一次。首先我们清空画布上内容,设置绘制线条颜色粗细线条连接方式。然后

两点之间绘制一段路径,将数组中的坐标点依次绘制出来

XML/HTML Code复制内容到剪贴板

  1. function redraw(){   

  2.   context.clearRect(0, 0, context.canvas.width,   context.canvas.height); // 清除画布内容   

  3.      

  4.   context.strokeStyle = "#df4b26";//设置线条颜色   

  5.   context.lineJoin = "round";//当两条线条交汇时,创建圆形边角   

  6.   context.lineWidth = 5;//线条粗细   

  7.                

  8.   for(var i=0; i < clickX.length; i++) {           

  9.     context.beginPath();//开始一条路径,或重置当前的路径   

  10.     if(clickDrag[i] && i){   

  11.       context.moveTo(clickX[i-1], clickY[i-1]);   

  12.      }else{   

  13.        context.moveTo(clickX[i]-1, clickY[i]);   

  14.      }   

  15.      context.lineTo(clickX[i], clickY[i]);   

  16.      context.closePath();   

  17.      context.stroke();//绘制路径   

  18.   }   

  19. }  

绘制过程需要的事件

1 mousedown事件

绘图这点击到画布上时,将触发该事件执行。调用了addClick函数,并将paint置为true。

JavaScript Code复制内容到剪贴板

  1. $('#canvas').mousedown(function(e){   

  2.   var mouseX = e.pageX - this.offsetLeft;   

  3.   var mouseY = e.pageY - this.offsetTop;   

  4.   paint = true;   

  5.   addClick(e.pageX - this.offsetLeft, e.pageY - this.offsetTop);   

  6.   redraw();   

  7. });  

2 mousemove事件

mousedown中设置的paint为true后,鼠标移动时触发mousemove事件执行,将鼠标移动的所有点记录下来,并不断调用redraw重绘画布。

JavaScript Code复制内容到剪贴板

  1. $('#canvas').mousemove(function(e){   

  2.    if(paint){   

  3.      addClick(e.pageX - this.offsetLeft, e.pageY - this.offsetTop, true);   

  4.      redraw();   

  5.    }   

  6.  });   

3 mouseup事件

mouseup鼠标点击后松开或者拖拽后松开,表示绘制完成该路径,将paint置为false。

XML/HTML Code复制内容到剪贴板

  1. $('#canvas').mouseup(function(e){   

  2.    paint = false;   

  3.  });  

4 mouseleave事件

mouseleave鼠标离开canvas元素,将paint置为false。

XML/HTML Code复制内容到剪贴板

  1. $('#canvas').mouseleave(function(e){   

  2.   paint = false;   

  3. });  

到此,关于“怎么用html5和JavaScript创建一个绘图程序”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 怎么用html5和JavaScript创建一个绘图程序

本文链接: https://lsjlt.com/news/78348.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么用html5和JavaScript创建一个绘图程序
    这篇文章主要介绍“怎么用html5和JavaScript创建一个绘图程序”,在日常操作中,相信很多人在怎么用html5和JavaScript创建一个绘图程序问题上存在疑惑,小编查阅了各式资料,整理出简单好用...
    99+
    2024-04-02
  • 使用JavaScript怎么绘制一个饼图
    这篇文章将为大家详细讲解有关使用JavaScript怎么绘制一个饼图,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。实现代码JavaScriptvar canvas =&n...
    99+
    2023-06-06
  • 使用python怎么创建一个GUI程序
    本篇文章为大家展示了使用python怎么创建一个GUI程序,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬...
    99+
    2023-06-14
  • 使用Django怎么创建一个应用程序
    使用Django怎么创建一个应用程序?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。要在Django项目中创建基本应用,您需要转到包含manage.py的目录,然后从此处输入...
    99+
    2023-06-14
  • C#中怎么创建一个Web应用程序
    这期内容当中小编将会给大家带来有关C#中怎么创建一个Web应用程序,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C#创建Web应用程序项目在本节中,创建表示应用程序的用户界面的 Visual C# 或 V...
    99+
    2023-06-17
  • 怎么用MyBatis创建一个简单的程序
    这篇文章主要介绍“怎么用MyBatis创建一个简单的程序”,在日常操作中,相信很多人在怎么用MyBatis创建一个简单的程序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用MyBatis创建一个简单的程序...
    99+
    2023-06-29
  • 怎么创建一个新的WinForm应用程序
    要创建一个新的WinForm应用程序,可以按照以下步骤进行: 打开Visual Studio开发环境 选择“新建项目”,然后选择“...
    99+
    2024-04-08
    winform
  • HTML5 中怎么创建一个canvas元素
    本篇文章为大家展示了HTML5 中怎么创建一个canvas元素,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 HTML5 创建canv...
    99+
    2024-04-02
  • Dreamvear中怎么创建一个html5网页
    这篇文章给大家介绍Dreamvear中怎么创建一个html5网页,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。步骤首先打开自己的电脑,运行Dreamvear软件。软件打开后,出现如图的界面,然后选择中间一排的更多选项。...
    99+
    2023-06-08
  • 怎么在HTML5中利用Canvas绘制一个K线图
    本篇文章为大家展示了怎么在HTML5中利用Canvas绘制一个K线图,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。SVG 是一种使用 XML 描述 2D 图形的语言。 Canvas 通过 JavaS...
    99+
    2023-06-09
  • java怎样创建一个jdbc程序
    这篇文章给大家分享的是有关java怎样创建一个jdbc程序的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。JDBC简介Java数据库连接(Java Database Connectivity,JDBC),是一种用于...
    99+
    2023-05-30
    java jdbc
  • Python中怎么利用多线程创建一个程序
    这篇文章给大家介绍Python中怎么利用多线程创建一个程序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Python线程创建需要关注threading.Thread.join(th) 或者th.join()如果你可以对...
    99+
    2023-06-17
  • Django中怎么创建一个新的应用程序
    要在Django中创建一个新的应用程序,可以按照以下步骤进行操作: 使用以下命令创建一个新的Django应用程序: python...
    99+
    2024-03-05
    Django
  • 怎么创建一个简单的SpringBoot应用程序
    要创建一个简单的Spring Boot 应用程序,可以按照以下步骤操作: 使用 Spring Initializr 创建一个新的...
    99+
    2024-04-09
    SpringBoot
  • 怎么使用Python和Tkinter创建一个简单的闹钟程序
    这篇文章主要介绍了怎么使用Python和Tkinter创建一个简单的闹钟程序的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Python和Tkinter创建一个简单的闹钟程序文章都会有所收获,下面我们一起...
    99+
    2023-07-05
  • ASP.NET中怎么创建一个安装程序类
    这篇文章给大家介绍ASP.NET中怎么创建一个安装程序类,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。ASP.NET安装部署之创建安装程序类1.在“文件”菜单上指向“新建”,然后选择“项目”。ASP.NET安装部署之创...
    99+
    2023-06-18
  • 怎么利用Python创建第一个Django框架程序
    这篇文章主要介绍“怎么利用Python创建第一个Django框架程序”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么利用Python创建第一个Django框架程序”文章能帮助大家解决问题。一.环境...
    99+
    2023-07-02
  • 如何创建一个Flex应用程序
    这篇文章主要介绍如何创建一个Flex应用程序,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Flex基础Flex是基于组件来进行开发的,为了更有效率地设计和开发Flex应用程序,你应该熟悉这些开发模式以及操作步骤。创建...
    99+
    2023-06-17
  • 怎么用JavaScript和jQuery构建一个BS Web的聊天应用程序
    这篇文章主要讲解了“怎么用JavaScript和jQuery构建一个BS Web的聊天应用程序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用JavaS...
    99+
    2024-04-02
  • MYSQL中怎么创建一个视图
    MYSQL中怎么创建一个视图,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一. 视图概述视图是一个虚拟表,其内容由查询定义。同真实的表一样...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作