1.  canvas生成base64数据 canvas.toDataURL()生成的数据可以直接给image对象使用作为<img>显示在前端,也可以传给后台生成图片保存.前端生成保存图片的好像也有,但是比较麻烦,而且不兼容.我记得zip.js就可以在前端打包图片生成压缩包,不过我现在用不到,哪天想到了再整理整理. var contain = document.getElementById('contain'); var c=document.getElementById("myCan…
 之前就说了canvas设置大小的时候用的就是设置实打实的像素值,像图像一样设置百分比然后根据浏览器大小自己适应大小是不可能的——当然一般也不会想要cavans改变大小.不过项目之前有用到过,既然去了解了,就记下来防止忘记. 不能自己适应,就只能每次外部容器发生改变的时候给它重新设置大小了. 1.  $(selector).resize()—布局调整大小的时候触发 查了查jquery好像有resize函数,顿时很惊喜,然而发现并没有什么用,它只支持$(window).resize(functio…
1.  如何根据鼠标位置获取canvas上对应位置的x,y. 2.  canvas的图糊了,设置宽和高的方式不对. 3.鼠标绘图代码 之前听说过canvas这个元素,但是实际上并没有深入了解过.不过日前有个项目一是使用canvas显示dicom格式的医疗影像,一是利用canvas元素生成图像压缩包,将之前对canvas隐隐约约的好奇心被无限放大,那就尝试做一个用鼠标绘制图像的画布吧.这不难,网上一搜都是教程,然而……很多事情好像并不像想象的美好. 要做的很简单,mousedown的时候设置开始作…
1.  使用canvas绘制图像 什么是图像?在js中它就是一个<img src=””>,<img>有两种接收图像信息的方法,一个是直接链接到图像地址,一个使用base64数据,不过这里讨论的是canvas要使用的Image对象.我们有两个方式定义: <1>在html中定义好,然后根据id获取 var img=document.getElementById("scream"); <2>新建image对象 var img = new Ima…
每个浏览器都有自己的特点,比如今天要做的colorpicker就是,一千个浏览器,一千个哈姆雷特,一千个colorpicker.今天canvas系列就用canvas做一个colorpicker. ********************************************************************** 效果图和demo 突然翻到了之前用js和dom写的一个colorpicker,比较挫,扔张图就好(old) 这个真的很挫,性能很差,因为每一个可选的颜色值都是一个…
每个浏览器都有自己的特点,比如今天要做的colorpicker就是,一千个浏览器,一千个哈姆雷特,一千个colorpicker.今天canvas系列就用canvas做一个colorpicker. ********************************************************************** 效果图和demo 突然翻到了之前用js和dom写的一个colorpicker,比较挫,扔张图就好(old) 这个真的很挫,性能很差,因为每一个可选的颜色值都是一个…
Canvas学习:封装Canvas绘制基本图形API Canvas Canvas学习   从前面的文章中我们了解到,通过Canvas中的CanvasRenderingContext2D对象中的属性和方法,我们可以很轻松的绘制出一些基本图形,比如直线.弧线.矩形.圆形.三角形等.但有很多基本图形的绘制是没有现成的方法,需要通过CanvasRenderingContext2D对象中的属性和方法组合在一起才能绘制出来,比如说点划线.箭头和正多边形等.为了更好的帮助大家在Canvas中绘制这些基本图形,…
学习了canvas的基本绘图功能后,惊喜的发现canvas对图片数据也有相当强大的处理功能,能够从像素级别操作位图,当然[lte ie8]不支持. 主要的函数有三个: ctx.createImageData(width,height); // 用于创建ImageData对象 ctx.getImageData(x,y,width,height); // 用于从canvas中获取ImageData对象 ctx.putImageData(imagedata, x, y, dx, dy, width,…
制作一个画画板,有清屏有橡皮擦有画笔可以换颜色 style样式 <head> <meta charset="UTF-8"> <title>画画板</title> <style> body{ background-color:#ccc; } .control-bar{ vertical-align:top; display:inline-block; } </style> </head> html结构 &…
从上个星期开始,耳朵就一直在生病,里面长了个疙瘩,肿的一碰就疼,不能吃饭不能嗨 (┳_┳)……在此提醒各位小伙伴,最近天气炎热,一定要注意防暑上火,病来如山倒呀~ 接下来我正在喝着5块一颗的药学习canvas…… canvas(画布)是html5新增的标签元素,用来定义图形,比如图表和其他图像.<canvas>标签只是图形容器,必须使用脚本(通常为javascript)来绘制图形. canvas与svg的区别 canvas是HTML5提供的新元素<canvas>,而svg存在的历史…
项目做到一个裁切图片的功能,就是让用户上传头像的时候可以裁切一下图片,选择一个合适大小位置来作为头像.之中用到了crop.js这个插件,用canvas直接绘制了用户裁切缩放后的图片.裁切的过程这边就不详细展开了,想要了解详情的朋友可以深入了解一下crop.js插件,这边分享一下在生成canvas图片后,通过ajax来上传到服务器的一个过程.就以PHP为例: <script> var canvas = document.getElementById("canvas_img")…
<!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta name='description' content='this is my page'> <meta name='keywords' content='keyword1,keyword2,keyword3'> <meta http-equiv="…
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <canvas id="drawing" width="200" height="200">A drawing of something</canv…
.getContext("2d")=======>获取绘图接口 //2d .beginPath()========>创建绘图路径开始点 .moveTo(x,y)==========>移动绘画点到x,y .lineTo(x,y)============>绘制线条 .strokeStyle = "#000"  ======>设置线条颜色 //黑色(#000) .fillStyle = "#000"  =========&…
canvas是html5中引入的一个新元素,俗称画布,既然是画布,当然是用来画图的.canvas技术指的是利用javascript操作canvas元素绘制图形的技术,要使用canvas,一定要浏览器支持canvas,谷歌和火狐的支持性很好,IE8不支持.你可以参考这个网站,查看canvas的支持性:http://www.caniuse.com/#search=canvas,当然他还能查询到css3和html5等很多web新潮技术在各浏览器的支持性. 如何使用canvas? 要使用canvas,一…
绘制VIew本身的内容,通过调用View.onDraw(canvas)函数实现 绘制自己的孩子通过dispatchDraw(canvas)实现 View组件的绘制会调用draw(Canvas canvas)方法,draw过程中主要是先画Drawable背景,对 drawable调用setBounds()然后是draw(Canvas c)方法.有点注意的是背景drawable的实际大小会影响view组件的大小,drawable的实际大小通过getIntrinsicWidth()和getIntrin…
一.问题来源: 接触Openlayers 一段时间了,最近做了一个农业产业系统,项目中涉及到产业图例,最后考虑用canvas来绘制图例图像.当中带图片的图例移动时,图片会实现闪烁留白情况.闪烁是因为绘制图片本身的复杂性,导致canvas绘制频率和浏览器绘制频率不同步,出现图片出不来或者延迟出现,这过程中间就出现了空白显示为canvas底图颜色白色的情况.这里说的闪烁是,在单击地图移动图例时,文字前面的图片并没有出来.但是单击地图准备移动图例时别松开鼠标图片能出来,这个有点奇怪.... 有些解决方…
一.canvas canvas 画布,位图 <canvas> 标签定义图形,比如图表和其他图像,您必须使用脚本来绘制图形 注意:不要在style中给canvas设置宽高,会有位移差 canvas的使用: 先获取canvas var c=document.getElementById("c1") 获取之后,需要给canvas设置一个绘图环境 var can=c.getContext("2d") 绘制方块: fillrect(x,y,w,h) 绘制一个填充的…
运行效果: <!DOCTYPE html> <html> <head> </head> <body> <canvas id=">A drawing of someing!</canvas> <script type="text/javascript"> var drawing = document.getElementById('drawing'); if(drawing.getC…
运行效果: <!DOCTYPE html> <html> <head> </head> <body> <canvas id=">A drawing of someing!</canvas> <script type="text/javascript"> var drawing = document.getElementById('drawing'); if(drawing.getC…
运行效果: <!DOCTYPE html> <html> <head> </head> <body> <canvas id=">A drawing of someing!</canvas> <script type="text/javascript"> //绘制中国银行标志 var drawBoc = function(){ var drawing = document.getEl…
运行效果: <!DOCTYPE html> <html> <head> </head> <body> <canvas id=">A drawing of someing!</canvas> <script type="text/javascript"> //绘制饼图 var drawCircle = function(canvasId, data_arr, color_arr, t…
运行效果: <!DOCTYPE html> <html> <head> </head> <body> <canvas id=">A drawing of someing!</canvas> <script type="text/javascript"> var drawing = document.getElementById('drawing'); if(drawing.getC…
运行效果: <!DOCTYPE html> <html> <head> </head> <body> <canvas id=">A drawing of someing!</canvas> <script type="text/javascript"> var drawing = document.getElementById('drawing'); if(drawing.getC…
第一种最简单的方法: 1 threeBox.render();//重点 解决拿到图片后为黑色 2 3 let src=threeBox.renderer.domElement.toDataURL();//将选中的canvas转换为base64编码 4 let a = document.createElement("a"); // 生成一个a元素 5 let event = new MouseEvent("click"); // 创建一个单击事件 6 a.downlo…
查看效果请到 http://philippica.github.io/  点击drag 和上一篇画图很像,所以有些部分做了省略 当鼠标按下时保存当前画布上的内容到ppImgData中,并且记录下初始点的位置,当鼠标移动时调用ppDrag函数 $('#myCanvas').unbind(); $('#myCanvas').mousemove(function(e) { if(ppMousePressed) { var mouseX = e.pageX - this.offsetLeft; var…
先上一个demo,简单粗暴,请自便 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> *{ margin: 0px; padding: 0px; } </style> <script src="http://code.jquery.c…
接<每周一点canvas动画>--波形运动 圆周运动可以分为两种基本的形式:正圆运动和椭圆运动.在讲解圆周运动之前,必不可少的数学公式即将袭来.so,各位骚年们,请护好自己的膝盖.听不懂没关系,只要明白其中的原理就行.当然,能懂是最好的,这对后面学习高级动画是很有帮助的.好吧,废话少说直接上菜. 1.正圆运动 一般情况下,圆的直角坐标方程可以表示为:x2+y2=R2,根据此公式可以得出圆在直角坐标中的轨迹.也许,你会说这样就可以通过改变x,y的坐标位置让物体做圆周运动.但是,实际情况是这种方法…
<!DOCTYPE html> <html> <head> <style> canvas { border: 1px dashed black; } </style> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script> &l…
1.第一个Canvas程序 看的是HTML5移动开发即学即用这本书,首先学习Canvas基础,废话不多说,直接看第一个例子. 效果图为: 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <style type="text/css"> canvas { border-width: 5px; border-style: dashed; b…