您现在的位置是:网站首页> 编程资料编程资料
canvas实现图片马赛克的示例代码html5实现点击弹出图片功能html5 录制mp3音频支持采样率和比特率设置html5表单的required属性使用html5调用摄像头实例代码HTML5页面音频自动播放的实现方式Html5大屏数据可视化开发的实现html实现弹窗的实例HTML5来实现本地文件读取和写入的实现方法HTML 罗盘式时钟的实现HTML5简单实现添加背景音乐的几种方法
2023-10-16
265人已围观
简介 这篇文章主要介绍了canvas实现图片马赛克的示例代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
1. 原生canvas实现用到的API
1) getContext(contextID) ---返回一个用于在画布上绘图的环境
Canvas.getContext('2d') // 返回一个 CanvasRenderingContext2D 对象,使用它可以绘制到 Canvas 元素中
2)drawImage
drawImage(imgObj, x, y) // 按原图大小绘制, x、y为图片在画布中的位置坐标 drawImage(imgObj, x, y, width, height) // 按指定宽高绘制 drawImage(imgObj, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY, destWidth, destHeight) // 从原来图片上某一个位置开始(sourceX,sourceY),指定长宽进行剪切(sourceWidth,sourceHeight),然后将剪切的内容放到位置为(destX,destY),宽度为(destWidth),高度为(destHeight)的位置上

3) getImageData(x, y, width, height) ---获取矩形区域的图像信息
ctx.getImageData(0, 0, 10, 10) // 获取左上角坐标为(0, 0),宽高为区域内的图像信息 // 返回ImageData: { width: 10, height: 10, data: Uint8ClampedArray[400] }4)beginPath() ---开始一条路径,或重置当前的路径 5)rect(x, y, width, height) ---绘制矩形
6)lineWidth ---设置或返回当前线条的宽度
7)fillStyle ---设置或返回用于填充绘画的颜色、渐变或模式
ctx.fillStyle = color|gradient|pattern
8)strokeStyle ---设置或返回用于笔触的颜色、渐变或模式
9)globalAlpha ---设置或返回绘图的当前透明值
10)fill() ---填充当前的图像(路径)。默认颜色是黑色
【注】如果路径未关闭,那么 fill() 方法会从路径结束点到开始点之间添加一条线,以关闭该路径,然后填充该路径。
11)stroke() ---会实际地绘制出通过 moveTo() 和 lineTo() 方法定义的路径。默认颜色是黑色
12)toDataURL(type, encoderOptions) ---导出图片,type为图片类型, encoderOptions图片质量,[0, 1]
Canvas.toDataURL("image/png", 1)2. fabric.js
简化canvas编写的库,为canvas提供所缺少的对象模型
fabric.js能做的事
1)在canvas上创建、填充图形(包括图片、文字、规则图形和复杂路径组成图形)
2)给图形填充渐变颜色
3)组合图形(包括组合图形、图形文字、图片等)
4)设置图形动画集用户交互
5)生成JSON, SVG数据等
3.使用fabric.js实现用到的API
1)声明画布
let canvas =new fabric.Canvas('canvas') { width: 200, height: 200 }插入图片
let imgInstance = new fabric.Image(imgElement,{ left: 0, top: 0, width: 100, height: 100, angle: 0 }3)设置背景图片 setBackgroundImage
canvas.setBackgroundImage(imgInstance)
4)renderAll() 重新绘制
5)on() 用户交互
canvas.on('mouse:down', function(options) { console.log(options.e.clientX, options.e.clientY) }) // 监听事件 /* mouse:down :鼠标按下时 mouse:move :鼠标移动时 mouse:up :鼠标抬起时 after:render :画布重绘后 object:selected:对象被选中 object:moving:对象移动 object:rotating:对象被旋转 object:added:对象被加入 object:removed对象被移除 */6)getPointer()
7)setWidth()、setHeight() 设置canvas的宽高
8)画矩形
let rect = new fabric.Rect({ left: 0, top: 0, width: 100, height: 100 })add(obj) 添加图形
canvas.add(rect)
10)remove(obj) 移除图形
11)set() 设置对象内容
12)toDataURL(obj)
4.原生canvas实现代码
- 马赛克
- 添加文字
- 裁剪
- 旋转
- 导出图片
效果图如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关内容
- html5 分层屏幕适配的方法使用分层画布来优化HTML5渲染的教程Html分层的box-shadow效果的示例代码
- 利用html5 file api读取本地文件示例(如图片、PDF等)使用PDF.JS插件在HTML中预览PDF文件的方法HTML5在线预览PDF的示例代码html转换为pdf案例的一些总结(多图推荐)HTML里显示pdf、word、xls、ppt的方法示例
- 基于 HTML5 Canvas实现 的交互式地铁线路图html5 canvas实现的斯诺克桌球游戏源码html5基于canvas绘制的熊熊火焰燃烧文字动画特效源码HTML5 Canvas图像模糊完美解决办法html5 canvas+three.js绘制的水面下太阳倒影动画特效源码html5 canvas绘制陨石围绕天体运动的动画特效源码
- 详解Html5 Canvas画线有毛边解决方法HTML5 Canvas画线技巧——实现绘制一个像素宽的细线HTML5 Canvas——用路径描画线条实例介绍
- 详解移动端HTML5音频与视频问题及解决方案html5中audio支持音频格式的解决方法HTML5实现音频和视频嵌入的方法HTML5中视频音频的使用详解HTML5制作酷炫音频播放器插件图文教程HTML5自定义mp3播放器源码
- 详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)canvas中普通动效与粒子动效的实现代码示例
- 详解HTML5 canvas绘图基本使用方法html5使用Canvas绘图的使用方法详解html5 canvas常用api总结(二)--绘图API 用html5的canvas和JavaScript创建一个绘图程序的简单实例html5-Canvas可以在web中绘制各种图形
- 全民英雄复仇之魂出装攻略心得_敏捷英雄复仇之魂怎么出装_手机游戏_游戏攻略_
- 全民英雄智力英雄小歪进化攻略心得_智力英雄小歪怎么进化_手机游戏_游戏攻略_
- 全民英雄力量英雄凤凰全面解析_力量英雄凤凰好不好用_手机游戏_游戏攻略_
