图片裁剪cropperjs

GitHub:https://github.com/fengyuanchen/cropperjs

  1. 安装

cnpm install cropperjs

  1. 使用
//<!-- Wrap the image or canvas element with a block element (container) -->
//图片必须被块级元素所包裹
<div><img id="image" src="picture.jpg">
</div>/* Ensure the size of the image fit the container perfectly */
//设置img为块级元素  img是行内块元素
img {display: block;/* This rule is very important, please don't ignore this */max-width: 100%;
}
//引入css、js样式
import 'cropperjs/dist/cropper.css';
import Cropper from 'cropperjs';
//获取dom元素  在vant组件中通过给img绑定ref属性获取dom元素
//const image = this.$refs.file;
const image = document.getElementById('image');
const cropper = new Cropper(image, {// aspectRatio: 16 / 9,// crop(event) {// console.log(event.detail.x);//console.log(event.detail.y);//console.log(event.detail.width);//console.log(event.detail.height);// console.log(event.detail.rotate);// console.log(event.detail.scaleX);// console.log(event.detail.scaleY);viewMode: 1, //定义裁剪器的视图模式。如果将viewMode设置为0,则裁剪框可以延伸到画布外部,而值为1、2或3将限制裁剪框的大小为画布的大小。viewMode为2或3会将画布限制为容器。请注意,如果画布和容器的比例相同,则2和3之间没有差别。dragMode: 'move', //定义的拖动模式裁剪器.canvas和容器一样,2和3没有区别。move:移动画布 crop:创建新的裁剪框(默认) none:什么也不做aspectRatio: 3 / 2,//定义裁剪框的固定纵横比。默认情况下,裁剪框为自由比率。autoCropArea: 1,//定义0到1之间的fA编号。定义自动裁剪区域大小(百分比)。默认0.8cropBoxMovable: false,//允许通过拖动移动裁剪框。默认truecropBoxResizable: false,//以通过拖动来调整裁剪框的大小 默认truebackground: false,//显示容器的网格背景movable: true //移动图像},
});
  1. 调用接口发送请求

一般后台接口需要传递form-data对象

我们需要将图片转成multipart/form-data格式数据

getCroppedCanvas([options])

获取裁剪后的图片,这种方法适用于移动端项目

不只适与用于vue项目,这是原生js代码可以适用于任何项目

cropper.getCroppedCanvas().toBlob((blob) => {const formData = new FormData();// Pass the image file name as the third parameter if necessary.//如果需要,将图像文件名作为第三个参数传递。formData.append('croppedImage', blob/*, 'example.png' */);//发起请求$.ajax('/path/to/upload', {method: 'POST',data: formData,processData: false,contentType: false,success() {console.log('Upload success');},error() {console.log('Upload error');},});
}/*, 'image/png' */);

getData([rounded])

获取裁剪后的图片,这种方法适用于PC端项目

使用

<span @click="confirm">完成</span>confirm () {console.log(this.cropper.getData())
}

图片裁剪-cropperjs详解相关推荐

  1. php中关于img2thumb函数的图片裁剪规则详解

    首先人为设定一个尺寸比如250*150,那么系统就会根据你设定的尺寸, 自动对 上传的图片进行宽高比换算,同时遵循等比例缩放原则. 1.比如例1: 上传了1476*830尺寸的图片,那么计算机就会自动 ...

  2. python使用视频_Python中操作各种多媒体,视频、音频到图片的代码详解

    我们经常会遇到一些对于多媒体文件修改的操作,像是对视频文件的操作:视频剪辑.字幕编辑.分离音频.视频音频混流等.又比如对音频文件的操作:音频剪辑,音频格式转换.再比如我们最常用的图片文件,格式转换.各 ...

  3. python播放视频代码_Python中操作各种多媒体,视频、音频到图片的代码详解

    我们经常会遇到一些对于多媒体文件修改的操作,像是对视频文件的操作:视频剪辑.字幕编辑.分离音频.视频音频混流等.又比如对音频文件的操作:音频剪辑,音频格式转换.再比如我们最常用的图片文件,格式转换.各 ...

  4. 计算机图形学算法详解,计算机图形学裁剪算法详解

    <计算机图形学裁剪算法详解>由会员分享,可在线阅读,更多相关<计算机图形学裁剪算法详解(10页珍藏版)>请在人人文库网上搜索. 1.裁剪算法详解在使用计算机处理图形信息时,计算 ...

  5. 调用百度ai接口实现图片文字识别详解

    调用百度ai接口实现图片文字识别详解 首先先介绍一下这篇博文是干嘛的,为了不浪费大家时间.公司最近和短视频公司合作,需要监控app的截图上的文字是否符合规范,也就是确保其没有违规的文字.到网上找了一些 ...

  6. html5局部放大图片,js实现图片局部放大效果详解

    图片局部放大效果结合的知识点主要是DOM的操作,以及事件的应用,所以首先要对DOM的操作有一定了解,其次能对事件的应用有一定的累积. 如上图,可以看到,这是放大镜的基本效果,主要分成左右两个部分.左边 ...

  7. python字库转文字图片_对Python生成汉字字库文字,以及转换为文字图片的实例详解...

    对Python生成汉字字库文字,以及转换为文字图片的实例详解 发布时间:2020-10-05 17:20:03

  8. 前端图片裁剪 cropperjs的简单使用

    https://github.com/fengyuanchen/cropperjs 演示 <!DOCTYPE html> <html lang="zh">& ...

  9. Android 图片着色 Tint 详解2—xml设置、selector

    上篇文章介绍了给drawable设置tint 以达到颜色变化效果,这篇介绍下通过xml设置tint.代码设置tint以及如何设置tint selector. 在xml中设置tint 可以利用 andr ...

最新文章

  1. ST为飞行时间传感器增加了多目标测距
  2. Compressive sensing
  3. 傅里叶级数FS, 离散傅里叶变换DFT
  4. iOS之深入解析CocoaPods的插件机制和如何加载插件整合开发工具
  5. 类的构造函数(分类和调用)
  6. C++求三位数的水仙花数
  7. springboot中配置过滤器以及可能出现的问题
  8. c语言按照字节读取任何文件,【文件操作】【按字节读取】求鉴定问题……
  9. IOS打开pdf文件
  10. SQL数据库“单个用户”不能访问,设置为多个用户的解决方法
  11. 串口转WIFI模块通信
  12. meethigher-与骗子之间的对招
  13. AOJ-AHU-OJ-675 定位赛
  14. 万字长文:复盘 8 年副业经历,耗时一周,我总结出了独特的「复利思维复业赚钱法」,不看后悔...
  15. git rebase 命令 常用_git命令之git rebase 的用法
  16. 【历史上的今天】1 月 18 日:微软的“技术布道者”出生;反盗版法案抗议行动;哈佛 Mark I 灵感起源
  17. 阿里云服务器更改时区
  18. [ 大道至简系列 ] 三分钟理解-1NF,2NF,3NF
  19. C#之windous界面应用编程
  20. 每天干的啥?(2019.9)

热门文章

  1. Linux 安装 docker,使用docker 安装mysql、redis、jdk、nginx
  2. 图像质量评价(一):IQA介绍
  3. “雄安效应”或将催生智慧城市巨大红利
  4. 1.11 04:网线主管
  5. 敬业签云便签Mac和Web端误删了便签里面文件如何找回?
  6. 安农大计算机专业录取分数线,2021年安徽农业大学各省各专业最低投档录取分数线统计(文科 理科)...
  7. dcount函数C语言,DCount 函数
  8. 【ElementUI】【Vue】el-Radio失效,无法切换选中效果
  9. 浅谈医疗信息化安全的防御体系
  10. 使用Palm®(奔迈)Mojo 框架开发JavaScript程序 #2