html canvas 截图
来源:互联网 发布:linux怎么选中命令复制 编辑:程序博客网 时间:2024/06/01 21:44
假设上图是通过<canvas id="mycanvas">画在浏览器上的,然后我们要截取中间500x500的一个区域,并将其作为原图的缩略图存储到数据库中。
截取代码:
var canvas_src = document.getElementbyId("mycanvas");var canvas_dst = document.createElement("canvas");canvas_dst.width = "500";canvas_dst.height = "500";var context = canvas_dst.getContext('2d');var sourceX = canvas_src.width / 2 - 250;var sourceY = canvas_src.height / 2 - 250;var sourceWidth = 500;var sourceHeight = 500;var destWidth = sourceWidth;var destHeight = sourceHeight;var destX = 0;var destY = 0;context.drawImage(canvas_src, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY, destWidth, destHeight);
drawImage就是将源canvas按指定参数裁剪之后生成一个新的canvas,其中第一个参数可以Image对象,canvas画布或视频。
存储代码:
var img = canvas_dst.toDataURL("image/png");var data = img.substring(img.indexOf(",")+1);$.post("store_url", {data: data});canvas.toDataURL(img_type)可以将当前canvas生成Base64编码的图片数据。格式是:
data:image/png;base64,iVBORw0KGgoAAAANSUh...
这部分字符串可以放到img标签中,如<img src="data:image/png;base64,iVB....">。其中逗号前面是说明信息,我们要存储的是后面的图片数据。在python中可以这么做:
import base64img_cnt = base64.b64decode(data)这样img_cnt就转换成标准的二进制文件数据了
如果是字段是bytea类型,django中可以直接赋值:
ImageTable.img_field = img_cnt
0 0
- html canvas 截图
- 把Html插入canvas实现网页截图
- Canvas截图
- H5在canvas上截图
- canvas实现图像截图展示
- Javascript canvas 拖动鼠标截图
- HTML 网页截图
- canvas 旋转后截图和缩放
- canvas+video实现跨域视频截图
- video用canvas实现截图和上传
- canvas与html5实现视频截图功能
- HTML5 canvas电子签名与截图
- haXe -- Html canvas 应用
- HTML 5 Canvas
- HTML Canvas 绘制五角星
- HTML Canvas 渐变 gradation
- HTML 5 Canvas
- HTML 5 Canvas
- Github
- Android Studio开发基础之启动Service,并通过从Activity向Service传递数据
- bash shell函数的定义及变量的简单说明
- 最近在用codeigniter 备注下数据库操作方法
- 尝试使用Volley
- html canvas 截图
- 免费生成MP3外链
- 阅读程序4
- 从阳灿众筹网,看国内众筹平台的推广
- MySQL exit prompt when typing a wrong command
- java基础--接口、多态
- javascript scope chain
- IOS AVAudioPlay 播放本地音频没声音问题
- Unity3D 动态创建图集并压入精灵