未来往事
每一天,努力让梦想更近一些,遇见更好的未来。 [2017年 第42周/共52周]

jQuery图片裁剪插件Cropper

Cropper:一个简单的jQuery前端图片裁剪插件。

功能特性:

支持选项
支持方法
支持事件
支持触屏 (移动端)
支持缩放
支持旋转
支持翻转
支持 canvas
支持多个 croppers
跨浏览器支持

主要文件Main:

dist/
├── cropper.css     ( 5 KB)
├── cropper.min.css ( 4 KB)
├── cropper.js      (67 KB)
└── cropper.min.js  (24 KB)

使用介绍:



已知问题:

1.关于getCroppedCanvas方法:canvas.drawImage API 在某些 Mac OS / iOS 浏览器上将会根据 EXIF 方向自动旋图片,所以输出的剪裁画布可能不正确。要修复这个问题,你需要上传剪裁的数据到服务器上完成剪裁的操作,查看例子:Crop Avatar。或者你也可以在使用 cropper 之前处理一下 EXIF方向。
PS:cropper EXIF照片旋转方向前端处理方法参考:
 (a)Exif.js读取图像的元数据
 (b)利用exif.js解决IOS系统手机上传竖拍照片旋转90度问题
 (c)H5中图片上传的那些坑
2.已知的 iOS 资源限制: 由于 IOS 设备会限制内存,浏览器也许会在你剪裁一张大图(iPhone 相机分辨率)的时候崩溃掉。要避免这个问题,你需要在使用 cropper 之前重置图片大小(小于1024 px,如使用localResizeIMG4压缩图片)。

Demo案例参考:

本站Demo参考-建议使用手机浏览器打开测试
点击在新窗口中浏览此图片
+阅读全文

php图片添加水印/图片合成/水印平铺

php图片加水印,php文字水印,php平铺水印,php图片水印,php图片添加图文 平铺水印。

图片添加文字水印

  1. $bigImgPath = '08.jpg';  
  2. $img = imagecreatefromstring(file_get_contents($bigImgPath));  
......
+阅读全文

php识别图片的主色调

本文只做一些基础的单点识别判断,仅供参考。
  1. //取图片位于y轴1/2处的某单点主色调方法  
  2. function getRgb($file){  
  3.   //裁切图片  
  4.   $size = getimagesize
......
+阅读全文

php裁切图片方法示例

php裁剪图片指定区域代码示例
原图图片:
点击在新窗口中浏览此图片
其中虚线框中是我们需要裁切保存的图片。

  1. $src = 'fity.cn.jpg';  
  2. //创建源图的实例  
  3. $file = imagecreatefromstring(file_get_contents($src));  
  4.    
  5. //裁剪开区域左上角的点的坐标  
  6. $x = 90;  
  7. $y = 40;  
  8. //裁剪区域的宽和高  
  9. $width = 180;  
  10. $height = 110;  
  11. //最终保存成图片的宽和高,和源要等比例,否则会变形  
  12. $final_width = 120;  
  13. $final_height = round($final_width * $height / $width);  
  14.    
  15. //将裁剪区域复制到新图片上,并根据源和目标的宽高进行缩放或者拉升  
  16. $new_image = imagecreatetruecolor($final_width$final_height);  
  17. imagecopyresampled($new_image$file, 0, 0, $x$y$final_width$final_height$width$height);  
  18.    
  19. //输出图片  
  20. header('Content-Type: image/jpeg');  
  21. imagejpeg($new_image);  
  22.    
  23. imagedestroy($file);  
  24. imagedestroy($new_image);  
输出图片:
+阅读全文

imagecopymerge合成图片 黑色背景问题

php imagecopymerge合并图片黑色背景问题,多图片合并 黑色背景问题解决

将默认使用的imagecopymerge替换成如下函数
  1. function imagecopymerge_alpha($dst_im$src_im$dst_x$dst_y$src_x$src_y$src_w$src_h$pct){  
  2.         $opacity=$pct;  
  3.         // getting the watermark width  
  4.         $w = imagesx($src_im);  
  5.         // getting the watermark height  
  6.         $h = imagesy($src_im);  
  7.                
  8.         // creating a cut resource  
  9.         $cut = imagecreatetruecolor($src_w$src_h);  
  10.         // copying that section of the background to the cut  
  11.         imagecopy($cut$dst_im, 0, 0, $dst_x$dst_y$src_w$src_h);  
  12.         // inverting the opacity  
  13.         //$opacity = 100 - $opacity;  
  14.                
  15.         // placing the watermark now  
  16.         imagecopy($cut$src_im, 0, 0, $src_x$src_y$src_w$src_h);  
  17.         imagecopymerge($dst_im$cut$dst_x$dst_y$src_x$src_y$src_w$src_h$opacity);  
  18.     }  

图示:
+阅读全文