PHP+jQuery.photoClip.js支持手势的图片裁剪上传实例

PHP+jQuery.photoClip.js支持手势的图片裁剪上传实例,在手机上双指捏合为缩放,双指旋转可根据旋转方向每次旋转90度,在电脑上鼠标滚轮为缩放,双击则顺时针旋转90度。

下面让我们来看看核心代码:

post的是base64,后端处理base64转存图片。

 1 $("#clipArea").photoClip({
 2     width: 200,
 3     height: 200,
 4     file: "#file",
 5     view: "#view",
 6     ok: "#clipBtn",
 7     loadStart: function() {
 8         $(".photo-clip-rotateLayer").html("<img src=‘images/loading.gif‘/>");
 9         console.log("照片读取中");
10     },
11     loadComplete: function() {
12         console.log("照片读取完成");
13     },
14     clipFinish: function(dataURL) {
15         $.ajax({
16             url: "upload.php",
17             data: {str: dataURL},
18             type: ‘post‘,
19             dataType: ‘html‘,
20         })
21     }
22 });

upload.php图片上传

1 $base64 = htmlspecialchars($_POST[‘str‘]);
2 if (preg_match(‘/^(data:\s*image\/(\w+);base64,)/‘, $base64, $result)) {
3     $type = $result[2];
4     $new_file = "./uploads/" . time() . ".{$type}";
5     if (file_put_contents($new_file, base64_decode(str_replace($result[1], ‘‘, $base64)))) {
6         echo ‘新文件保存成功:‘, $new_file;
7     }
8 }

本实例源码下载:https://www.sucaihuo.com/php/684.html

原文地址:https://www.cnblogs.com/woleyia/p/10991749.html

时间: 2024-10-12 17:39:02

PHP+jQuery.photoClip.js支持手势的图片裁剪上传实例的相关文章

js的FileReader实现图片文件上传、预览

js的FileReader实现图片文件上传.预览 FileReader对象的readAsDataURL方法可以将读取到的文件编码成Data URL.Data URL是一项特殊的技术,可以将资料(例如图片)内嵌在网页之中,不用放到外部文件.使用Data URL的好处是,您不需要额外再发出一个HTTP 请求到服务器端取得额外的资料:而缺点便是,网页的大小可能会变大.它适合应用在内嵌小图片,不建议将大图像文件编码成Data URL来使用.您的图像文件不能够超过浏览器限定的大小,否则无法读取图像文件.1

Android图片文件上传实例

原文:Android图片文件上传实例 源代码下载地址:http://www.zuidaima.com/share/1550463718132736.htm 支持拍照图片上传和从手机相册中获取图片上传到服务器端的功能 源码截图

图片裁剪上传插件——jquery.photoClip.js

想要裁剪图片上传: 需要依赖的的插件为: [jquery.photoClip.js] 插件[iscroll-zoom.js] 插件[hammer.js] 插件 [lrz.all.bundle.js] 插件 [jquery-2.1.3.min.js] 在前端页面调取: <div id="clipArea"></div> <input type="file" id="file"> <button id=&qu

图片裁剪上传Jcrop

<link rel="stylesheet" href="../css/jquery.Jcrop.css"> <script src="../js/jquery.Jcrop.js"></script> 先是两个必不可少的东西 <style type="text/css"> /* Apply these styles only when #preview-pane has been

vue中使用cropperjs进行图片裁剪上传

下面代码直接就可以复制使用了,但是需要在本地下个cropperjs,下载命令:npm install cropperjs --save-dev <template> <div id="yin"> <div id="demo"> <!-- 遮罩层 --> <div class="container" v-show="panel"> <div> <img

移动端图片裁剪上传—jQuery.cropper.js

jQuery.cropper.js是一款使用简单且功能强大的图片剪裁jQuery插件.该图片剪裁插件支持图片放大缩小,支持图片旋转,支持触摸屏设备,支持canvas,并且支持跨浏览器使用. 一.移动端获取本地相册兼容 安卓:<input type="file" accept="image/*" capture="camera" > ios:<input type="file" accept="ima

关于图片裁剪上传时同一张图片缓存问题的处理

做项目的时候,遇到了这样一个问题: 这个时候,我点击  “更换封面” ,跳出如下页面 此时,我还选择这个封面的原图,并进行裁切,如下图红色框里为我裁切后的头像 点击  “确定”  后,发现头像还是原来的头像,但是看接口里给的参数没错啊?!是裁切之后的图片啊?! 因为选择的是原来的图片,浏览器之前缓存了这个图片,这时再做修改也没有用. 解决办法是在图片后面加随机数: src: d.src.split("t")[0] + "?t=" + (new Date()).get

纯原生js移动端图片压缩上传插件

前段时间,同事又来咨询一个问题了,说手机端动不动拍照就好几M高清大图,上传服务器太慢,问问我有没有可以压缩图片并上传的js插件,当然手头上没有,别慌,我去网上搜一搜. 结果呢,呵呵...诶~又全是基于jquery.zepto的(这句话似乎吐槽次数太多了...),然后我也就不吐槽了, 然后当然是自己做了,先上图: 纯原生js的移动端图片压缩上传插件,不依赖任何库 用法 在html页面中引入input标签,通过自定义属性data-LUploader绑定点击触发的标签id,写法如下: <div cla

文件(图片)上传组件

1. 问题: https://zhuwenlong.com/blog/51f6519532ffd70b27000001 HTML5 File api 实现断点续传 http://www.jianshu.com/p/2a42a0c89640 html5 上传本地图片处理各种问题 2. 组件: http://fex.baidu.com/webuploader/ http://fex.baidu.com/webuploader/demo.html 百度上传组件 http://kindeditor.ne