一.引言 本文主要是我在学习Canvas技术绘图时的一个小练习,绘制随机改变的验证码图片,虽然真正的项目里不这么做,但这个练习是一个掌握Canvas技术很好的综合练习.(真正的项目中验证码图片使用服务器端技术,而不是客户端技术.) 二.要求 画布背景颜色随机(浅色)  ctx.fillRect() 文字内容随机.大小随机.颜色随机(深色).旋转角度随机 6条随机干扰线(深色),处于文字上方 50个杂色点(半径为1为园),处于文字上方 三.实现 注意:反复使用的功能,比如求随机数Math.floo…
一.引言 本文主要是canvas绘图中绘制图像的部分,做了几个练习,综合起来,复习canvas绘图以及定时器的使用. 二.canvas绘制小飞机在指定位置 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>小飞机静止位于上下左右中</title> <style> body{ text-align…
一.引言 在用Canvas练习制作了验证码之后,还有一个用Canvas技术很综合的练习——制作音乐播放器.在做这个练习的过程中,还有一个重要的观察点,那就是理解Canvas的一大问题. 二.要求  点击播放按钮,碟片开始旋转,背景音乐开始播放 再次点击播放按钮,碟片停止旋转,背景音乐停止播放 三.问题 1.在canvas中放进4个图片请求,1.2.3.4,会以什么顺序加载?按顺序? 实际:绝不会以顺序加载,因为,异步请求,会同时加载4张图片. 所以:Canvas绘图中若需要多张图片,他们的加载都…
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/ShiJiaqi. http://www.cnblogs.com/shijiaqi1066/p/4851774.html Canvas Canvas标签,用于在web中绘制各种图形.Canvas为基于像素的绘图,绘制的图像是位图.也即Canvas绘图的基本单位是像素.Canvas是一个相当于画板的html节点,用js操作绘图. Canvas特点 依赖分辨率. 不支持事件处理器. 弱的文本渲染能力. 能够以 .…
一.引言 项目组中,经常会因为绘制图表的繁杂度,衡量会不会使用第三方绘图工具,如果自己做很困难,成本使用高于第三方绘图工具库,就会使用.很多人使用的是Chart.js,因为它是免费使用的,不过,缺点就是只提供了八种统计图表,而FusionChart.js虽然是收费的,但一年也只是一千多元,相对较复杂的绘制图标,使用这个绘图工具库,要比几个人用几个星期来做,要更划算一些. 二.FusionCharts.js 融合图表 既可以用在Web上,也可以用在手机端 拥有最全的统计图,90+统计图表,1000…
Canvas元素是HTML5的一部分,允许脚本语言动态渲染位图像. 如有疑问请访问链接:http://javascript.ruanyifeng.com/htmlapi/canvas.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>概述以及绘图方法</title> </head> <body> <!--…
绘制图像 2D绘图上下文内置了对图像的支持 如果希望将一幅图绘制到画布上,可以使用 drawImage() 的方法 该方法有三种不同的参数数组合以对应不同的应用场景 将<img>绘制到画布的(x,y)点  context.drawImage(img, x, y) 以宽 width 高 height 将<img>绘制到(x, y)点   context.drawImage(img, x, y, width, height) 绘制目标图像的一部分到画布 context.drawImag…
一.基本内容  1.简单来说,HTML5提供的新元素<canvas>  2.Canvas在HTML页面提供画布的功能,在画布中绘制各种图形  3.Canvas绘制的图形与HTML页面无关,无法通过DOM获取绘制的图形,无法为绘制的图形绑定DOM事件  4.只能使用Canvas提供的API  5.Canvas的用途 在HTML页面中绘制图表(例如柱状图.饼状图等);网页游戏 二.如何使用Canvas  1.在HTML页面中定义<canvas>元素  2.在JavaScript代码中 …
之前按照例子,加载图像,发现加载图像,加载不上去,代码也没有错误,经过几次的尝试:发现需要重复调用下drawImage才可以. <script type="text/javascript"> var c=document.getElementById("Canvas"); var cxt=c.getContext("2d"); var img=new Image() img.src="1.png" cxt.draw…
一.引言 自学two.js第三方绘图工具库,认识到这是一个非常强大的类似转换器的工具,提供一套固定的接口,可用在各种技术下,包括:Canvas.Svg.WebGL,极大的简化了应用的开发.这里,我使用two.js手册里教的一些方法,做一个小练习,模拟绘制太阳-月亮-地球自转公转的类银河系转动的动画效果. 二.原理 在Two.js中和Canvas.SVG都不同的有这么几个地方: Two.js中所有的旋转都是以自己为中心 Two.js中的旋转不会累加 Two.js中不使用定时器,使用Two.play…
问题:有时用canvas作图时发现图像会出现模糊不清晰的问题,甚至做出来的图呈现出的效果与我们给的数值所应该呈现出的效果不一致 原因:当你在支持html5 canvas的浏览器下查看页面的时候,canvas画布的默认大小是300*150,相当于一张图片,当在css设置画布大小时比如350*350实际是将原画布(300*150)进行了拉伸,所以会导致图像变形,至于模糊的问题与浏览器处理 canvas 的方式有关 图像变形解决方法:将想要设置的画布大小直接设置在canvas标签上 <canvas  …
最近在使用 canvas 画图的时候,遇到了图像文字模糊的问题,解决思路就是根据分辨率创建不同尺寸的画布.以下是创建高分辨率画布的代码: /** * 创建高分辨率画布 * @param w 画布宽 * @param h 画布高 * @param ratio 屏幕分辨率 */ function createHiDPICanvas(w, h, ratio?) { const PIXEL_RATIO = (function () { const c = <HTMLCanvasElement>docu…
今天学习的内容 3.1:h5新特性---第三方绘图工具库 echarts(canvas) 百度 echarts;d3;two.js;.... 3.2:h5新特性---SVG绘图 3.2:h5新特性---SVG绘图--矩形 <svg id="" width="500" height="400"> <rect width="" height="" x="" y="…
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-…
说明: Fiiremonkey 的跨平台能力,大家有目共睹(一码同介面跨四平台),唯独移动平台在几何绘图方面,质量始终不尽人意,我也曾试着去修正(如:修正曲线平滑问题),也曾找过第三方案(如:AggPas),但都不完美,我一直在想,移动平台有这么强的绘图能力及质量(Android & iOS),如果能直接拿来用,不是很好?为什么 Firemonkey 要自己重写? 目前网上许多针对此问题的改善方案,但多以控件形式,且需依各平台的绘图函数来绘图,或仅提供固定的几何图形控件,如果能延用现有的 TCa…
一.引言 在学习Canvas绘图技术时,做的是随机验证码的例子,在学习SVG绘图技术时,同样也有一个随机绘制的例子——动态随机绘制圆形.这个练习,即综合了多种SVG技术的知识点,又很具有艺术感,随机生成的任意一张图片都具有艺术之美. 二.要求 在SVG画布上随机的绘制30个实心圆形,大小随机.位置随机.填充颜色随机.透明度随机:点击某个圆形后,它慢慢变大/淡,直至从DOM树上删除. 三.实现 <!DOCTYPE html> <html> <head lang="en…
我们总是将一个图形画在另一个之上,大多数情况下,这样是不够的.比如说,它这样受制于图形的绘制顺序.不过,我们可以利用 globalCompositeOperation 属性来改变这些做法.globalCompositeOperation = type我们不仅可以在已有图形后面再画新图形,还可以用来遮盖,清除(比 clearRect 方法强劲得多)某些区域. type 是下面 12 种字符串值之一: 注意:下面所有例子中,蓝色方块是先绘制的,即“已有的 canvas 内容”,红色圆形是后面绘制,即…
知识点: Canvas():创建一个空的画布,可以使用setBitmap()方法来设置具体的画布 Canvas(Bitmap bitmap):以bitmap对象创建一个画布,则将内容都绘制在Bitmap上,因此bitmap不能为Null Canvas(GL gl):在绘制3D效果时使用,与OpenGL相关 drawColor:设置背景颜色 setBitmap:设置画布 clipRect:设置显示区域,即设置裁剪部分 isOpaque:是否支持透明度 rotate:旋转画布 setViewport…
cookie:小甜饼 cookie:保存客户端浏览器中一个纯文本文件 版本高的浏览器可查看   F12->Resource  左下方cookie    查看 cookie作用: 保存:[安全性要求不高]文字或数字数据 登录密码?安全性要求高,不能保存 通用方案: 1:用户昵称/用户名/用户编号 2:浏览过商品 3:大型网站-->用户购物车中数据也保存cookie 特点: 长年保存:10年7天 短期保存:打开浏览器保存,关闭清除数据 语法:!!!!重点. 1:cookie_add.html 保存…
最近在WPF中做一个需要实现统计的功能,其中需要用到统计图,之前也没有接触过,度娘上大多都是各种收费或者免费的第三方控件,不想用第三方控件那就自己画一个吧. 在园子还找到一篇文章,思路来自这篇文章,文章链接:http://www.cnblogs.com/endlesscoding/p/6670432.html 不过根据我的需求,数据每次都在变化,所以都只能从后台绑定,先来看一下完成后的效果吧 可以看到,数据源是一年内一到十二月的金额,所以X轴是固定的,而Y轴标尺是根据数据源的最大值向上取100.…
MFC中位图伸缩函数StretchBlt在对图片进行缩放时会造成严重的图片失真. 在了解解决方法前先巩固下StretchBlt的用法: StretchBlt 函数功能:函数从源矩形中复制一个位图到目标矩形,必要时按目前目标设备设置的模式进行图像的拉伸或压缩. 函数原型: BOOL StretchBlt(HDC hdc, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeighDest, HDC hdcSrc, int nXOri…
今天在开发中,再一次踩了以前踩过的坑,写完程序在这里写一下,分享给大家也避免再次遇坑. //默认的canvas <canvas id ="canvas"></canvas> 此时,他的宽高是默认的300*150 如果这样声明: <canvas id ="canvas" style="width:500px;height:300px"></canvas> 按理说,宽高应该是500/300,但是获取到的…
前言:ant-design-pro的技术组成主要是react+redux+dva+antd+fetch+roadhog,dva在源码包index.js里面导出了fetch,但是如果不想使用fetch库,想换成其他库也是可以的(axios后期扩展性更好些),roadhog主要是基于webpack实现的封装.关于fetch发送请求的代码都封装在了utils/request.js文件中.PS:这里重点梳理对fetch()的使用学习,原文地址:大灰狼的小棉羊哥哥博客 与XMLHttpRequest(XH…
前言:百度Echarts是一个基于Canvas的纯Javascript图表库,提供直观.生动.可交互.可个性化定制的数据可视化图表.官网地址:http://echarts.baidu.com/index.html  一.Echarts基础 实例Demo:http://echarts.baidu.com/examples/ 文档教程:http://www.echartsjs.com/option.html#title 主题下载/定制主题:http://www.echartsjs.com/downl…
前言: 本文参考作者:_So_ 和 我是某慧 的博文,重点梳理Vue1.0升级到Vue2.0后在开发中要注意的不同,以做学习.        组件模板不再支持片段代码,必须有一个顶级元素包裹,例如: Vue1.0: <template> <h3>h3标签</h3> <p>p标签</p> </template> Vue2.0: <template> <div> <h3>h3标签</h3>…
一.实战 HBuilderX:在微信小程序中运行页面,需要设置->安全 开启微信小程序服务端口,HBuilder工具->设置->配置程序路径 网络请求.模板语法.打开页面.页面传参 列表  api:  https://unidemo.dcloud.net.cn/api/news - 返回数据格式 - id 新闻id 如: 72980 - title 标题 - created_at 创建时间 - author_avatar 图标 详情  地址: https://unidemo.dcloud…
一.引言 在自学node.js的过程中有一个非常重要的框架,那就是Express.它是一个基于NodeJs http模块而编写的高层模块,弥补http模块的繁琐和不方便,能够快速开发http服务器.这里,就要用Express创建一个Web服务器,用来深入的理解这个框架,并熟悉创建Web服务器的过程. 二.核心概念--中间件 Express 是一个自身功能极简,完全是由路由和中间件构成一个的 web 开发框架:从本质上来说,一个 Express 应用就是在调用各种中间件. 中间件(Middlewa…
前言:在学习黄轶老师的<Vue.js高仿饿了么外卖App>课程中接触到了better-scroll第三方JavaScript组件库,这是黄轶老师自己基于iscroll重写的库.这里结合黄轶老师的知乎文章和Vue2.0项目对better-scroll的具体应用,只作为学习,对其中的原理和应用步骤做一个梳理.             移动端项目列表滚动的需求 竖直滚动: 横向滚动:            什么是better-scroll better-scroll 是一个移动端滚动的解决方案,它是…
前言:vue1.0版本和2.0版本的过渡系统改变是很大的,具体请详看文档介绍.本文转载自郭锦荣的博客,一共列举了四种transition的使用实践,分别是css过渡.css动画.javascript钩子.列表过渡的应用,这里只作为学习梳理. css过渡--实践 Demo效果: 实现思路:通过一个transition来触发多个子元素的过渡效果,我们只需要定义元素对应的过渡效果就可以. 其他事情vue会帮我们搞定,由此可以扩展出其他酷炫的过渡场景效果. 代码实现: <template> <d…
前言:最近学习vue和react的高阶项目,都需要和Nodejs+Express+MongoDB结合实现全栈开发.这里结合实例Demo和所学项目集中总结一下这部分服务端的基础知识. 一.Express+mongodb开发web后台接口Demo Express开发web接口 Express:基于nodejs,快速.开放.极简的web开发框架  [官网] 安装express npm install express --save 新建server目录:server.js编写后端代码 const exp…