初始化的时候我想裁剪成圆的图片,怎么设置
$needCropImg[0].src = './img/1.jpg?' + Math.random();
为什么换成网络地址就不可以
$needCropImg[0].src = 'http://img.mp.itc.cn/upload/20160811/d4d58e59d45440bba4810ed2d726b203_th.jpg';
画布其实就是图片本身,拖拽时也是图片本身。
1.如果你要做一个固定背景的话,你可以修改源码getCropFile方法,在第一行加入ctx.drawImage(yourBgImg,x,y,w,h),即可合成图片//下文附送一下如何获取裁剪参数
2.如果你需要两个图联动该插件本身是不支持的,但你可以多创建个图片同时拖动(可能会有视觉残留)
a.
<div class="preview-box"> <img id="myBg"/> </div><img id="preview"/> </div>
b.在页面的onLoad函数里初始化myBg图片位置手势监听函数gestureCb加入
$myBg.css('transform位移//同$preview
c.在生成图片函数时,getCropFile函数 ctx.drawImage前一行仿照此方法加入你的
ctx.drawImage(G.preview, x, y, o.dWidth * G.scale, o.dHeight * G.scale); var cropImage = function(img, opts) { opts = opts || { width: 300, height: 300 } var canvas = document.createElement('canvas'), ctx = canvas.getContext('2d'); canvas.width = opts.width; canvas.height = opts.height; var info = getCropInfo(img.naturalWidth, img.naturalHeight, opts.width, opts.height) ctx.drawImage(img, info.x, info.y, info.w, info.h) return canvas.toDataURL('image/png') } var getCropInfo = function(ow, oh, iw, ih) { var o = { x: 0, y: 0, w: 0, h: 0 }; if (ow / oh > iw / ih) { o.h = ih; o.w = ow / oh * ih; o.x = -(o.w - iw) * (oh / ih) / 2; } else { o.w = iw; o.h = oh / ow * iw; o.h = -(o.h - ih) * (ow / iw) / 2; } return o; } var img = new Image; img.onload = function() { var src = cropImage(img); preview.src = src; } img.src = 'Koala.jpg'
怎么不转换层base64?
为什么苹果机上只能调取相机却调不了相册了。
没有api吗?
作者你好 我这里一直报一个错
var e = new Error(msg + '\nhttp://requirejs.org/docs/errors.html#' + id);
这个地方错了 能帮忙指导一下么