用Canvas怎么样制作图片编辑器,具体的步骤及代码是什么
Admin 2022-06-29 群英技术资讯 456 次浏览
该插件是一款脱离jq的移动端图片编辑器。可以应用在移动端H5页面或者微信小程序中。
开始使用
var canvasBox = document.querySelector('#picBox'); var canvas = new _Canvas({ box: canvasBox, // 容器 bgColor: '#000', // 背景色 bgPhoto: 'none', // 背景图 photoModel: 'adaption', // 载入图片模式(设置后添加图片时默认为当前设置模式) model: 'Cascade' // 模式Cascade为添加的图片层级右添加顺序决定,autoHierarchy为层级由选中的图片为最高级 })
创建canvas为画布对象,调用初始化函数init(Object)
canvas.init({ dragEvent: function (picArr, target) { // 监听拖拽事件 console.log('当前操作事件:正在拖拽') }, zoomEvent: function (picArr, target) { // 监听缩放事件 console.log('当前操作事件:正在缩放') }, rotateEvent: function (picArr, target) { // 监听旋转事件 console.log('当前操作事件:正在旋转') }, callback: function () { console.log('图片初始化完成...') } });
canvas画布的方法:
toDataURL(Object)
$('.outputmodel2').click(function () { canvas.toDataURL({ width: 750, height: 600, type: 'image/png', callback: function (url) { $('.outputPic').attr('src', url); console.log('成功输出1倍png图') } }) })
addPhoto(Object)
$('.addEnablePic').click(function () { canvas.addPhoto({ url: './img/pic6.jpg', model: 200, enable: true, callback: function () { console.log('成功添加一张禁止编辑的图片') } }) })
changeBg(Object)
color: 背景色
photo: 背景图(url)//为'none'时移除背景图
$('.bgColor').click(function () { var color = '#' + parseInt(Math.random() * 10) + parseInt(Math.random() * 10) + parseInt(Math.random() * 10) canvas.changeBg({ photo: url, color: color }) })
changeParams(Object)
width: '画布宽度',
height: '画布高度',
model: '画布模式' (模式Cascade为添加的图片层级由添加顺序决定,autoHierarchy为层级由选中的图片为最高级)
getNowPhoto()
return 当前操作的图片对象
clearCanvas()
清空画布
canvas画布的属性:
photos:画布内所有图片对象
Photo对象方法(画布内图片对象)
init()
重置图片大小和位置
getPhotoInfo()
返回图片的位置信息{model、enable、x(相对画布的x)、y(相对画布的y)、rotate、scale、width(画布内图片的宽度)、height(画布内图片的高度)、actualWidth(图片实际宽度)、actualHeight(图片实际高度)}
changeInfo(Object)
$('.changeUrl').click(function () { var nowPhoto = canvas.getNowPhoto(); if (!nowPhoto) { alert('未选中任何图片'); return; } else { var nowPhotoInfo = nowPhoto.getPhotoInfo(); nowPhoto.changeInfo({ img: './img/pic7.jpg', scale: nowPhotoInfo.scale / 1.1, hierarchy: 1, rotate: nowPhotoInfo.rotate + 90, callback: function () { console.log('成功修改') } }) } })
_delete()
删除该图片
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
详解CSS实现定位HTML元素的知识有哪些?小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇文章能帮助大家解决问题。
在开发中,很多需求需要我们对元素居中,例如文本居中,多行文本居中,块级元素水平居中、垂直居中等,那么这些要如何实现呢?下面是一些css实现元素居中的方法,有需要的朋友可以参考一下。
Loading效果一般应用在用户需要等待的场景,使用Loading加载动画可以让用户知道正在加载数据,从而提高用户的使用体验。好的Loading动画能够让等待过程不那么无聊,还能很好的抓住用户的眼球。这篇文章就给大家分享一些用CSS实现的Loading加载动画效果
最近翻阅网上资料,查到了一些自己从未用过的CSS,于是记录下来,在有些时候兴许能用得上。1、CSS中简单的运算我们通常用css指定的是静态的结果,而动态结果,如高度,位置等等则需要js来动态进行计算赋值,而其实css自己也能够进行简单的运算,主要是用到了calc这个函数。.div{width:calc(100%-50px);}2、使用CSS实现文字 ...
这篇文章主要介绍了css中overflow:hidden失效问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008