js插件---圖片裁剪photoClip


js插件---圖片裁剪photoClip

一、總結

一句話總結:頁面裁剪圖片得到base64格式的圖片數據,然后把這個數據通過ajax上傳給服務器,服務器將base64圖片數據解析成圖片並且保存到服務器上面,並且返回圖片在服務器上的地址。

 

 

二、圖片裁剪photoClip

1、截圖

 

 

 

2、代碼(代碼需要放到web服務器里面,因為帶了裁剪后圖片上傳服務器的功能)

百度盤下載鏈接:鏈接:https://pan.baidu.com/s/1-kZzwmIvtwLpGA8GrhVHPA 密碼:oj8u

裁剪頁面代碼

 1 <!DOCTYPE html>
 2 <html>
 3 
 4     <head>
 5         <meta charset="utf-8">
 6         <meta http-equiv="X-UA-Compatible" content="IE=edge">
 7         <meta name="renderer" content="webkit">
 8         <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
 9         <meta http-equiv="Cache-Control" content="no-siteapp" />
10         <title>裁剪圖片演示-帶初始值</title>
11         <link rel="stylesheet" type="text/css" href="../dist/amazeui.min.css" />
12         <style type="text/css">
13             #clip {
14                 width: 100%;
15                 height: 400px;
16             }
17         </style>
18     </head>
19 
20     <body>
21         <div id="clip"></div>
22 
23         <div class="am-margin-sm">
24             <button type="button" class="am-btn am-btn-primary" id="toggle-file">上傳頭像</button>
25             <button type="button" class="am-btn am-btn-primary" id="clipBtn">裁剪</button>
26         </div>
27 
28         <input class="am-hide" type="file" id="file">
29 
30         <img class="am-img-circle" id="img-view"/>
31 
32         <script src="../dist/jquery.min.js" type="text/javascript" charset="utf-8"></script>
33         <script src="../dist/iscroll-zoom.min.js" type="text/javascript" charset="utf-8"></script>
34         <script src="../dist/hammer.min.js" type="text/javascript" charset="utf-8"></script>
35         <script src="../dist/photoClip.min.js" type="text/javascript" charset="utf-8"></script>
36         <script>
37             $(function() {
38                 var $clip = $("#clip");
39                 var $file = $("#file");
40                 $("#toggle-file").click(function() {
41                     $file.trigger("click");
42                 });
43 
44                 $clip.photoClip({
45                     width: 400,
46                     height: 300,
47                     fileMinSize: 20,
48                     file: $file,
49                     defaultImg: "../img/4.jpg",
50                     ok: "#clipBtn",
51                     loadStart: function() {
52                         console.log("照片讀取中");
53                     },
54                     loadProgress: function(progress) {
55                         console.log(progress);
56                     },
57                     loadError: function() {
58                         console.log("圖片加載失敗");
59                     },
60                     loadComplete: function() {
61                         console.log("照片讀取完成");
62                     },
63                     imgSizeMin: function(kbs) {
64                         console.log(kbs, "上傳圖片過小");
65                     },
66                     clipFinish: function(dataURL) {
67                         document.getElementById("img-view").src = dataURL;
68 
69                         $.post("index.php", { dataURL: dataURL},
70                           function(data){
71                           alert("Data Loaded: " + data);
72                           });
73                         console.log(dataURL);
74                     }
75                 });
76             })
77         </script>
78 
79     </body>
80 </html>

 

后台接收並處理圖片代碼

 1 <?php
 2 //print_r($_POST);
 3 $base_img=$_POST['dataURL'];
 4 // $base_img是獲取到前端傳遞的值
 5 $base_img = str_replace('data:image/jpeg;base64,', '', $base_img);
 6 //  設置文件路徑和命名文件名稱
 7 $path = "./";
 8 $output_file = time().rand(100,999).'.jpeg';
 9 $path = $path.$output_file;
10 //  創建將數據流文件寫入我們創建的文件內容中
11  file_put_contents($path, base64_decode($base_img));
12 // 輸出文件
13 print_r($output_file);
14   ?>

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM