——拉罗什富科 分享一个vue图片裁剪组件 官网:https://github.xyxiao.cn/vue-cropper/ 演示demo:http://github.xyxiao.cn/vue-cropper 安装 # npm 安装 npm install vue-cropper # yarn 安装 yarn add vue-cropper 如果你没有使用 npm 在线例子vue-cropper + vue.2x 引入 Vue Cropper Vue 3 组件内引入 npm install vue-cropper@next import 'vue-cropper/dist/index.css' import { VueCropper } from "vue-cropper"; Vue3 全局引入 import VueCropper from 'vue-cropper'; import 'vue-cropper @1.0.2/dist/vue-cropper.umd.js"></script> const app = Vue.createApp({...}); app.component('vue-cropper
文档地址 安装 npm install vue-cropper 组件引入 import { VueCropper } from "vue-cropper"; components: { $refs.cropper.rotateLeft(); }, // 右旋转 rotateRight() { this. $refs.cropper.rotateRight(); }, // 重置 refresh() { this. $refs.cropper.refresh(); }, // 生成blob图片 getCropData() { this. $refs.cropper.getCropData((data) => { this.imgUrl = data; }); }, }, }; </script>
安装插件 npm install vue-cropper --save 2. 引入插件 // main.js import VueCropper from 'vue-cropper' Vue.use(VueCropper) 3. 使用插件 (1). $refs.cropper.getCropData((data) => { this.loading = true; let formData { .cropper { width: auto; height: 300px; } } </style> 4. 效果示例 参考:GitHub - aiguangyuan/vue-cropper: A simple picture clipping plugin for vue
项目中要求图片上传并裁剪的功能,之前也有接触过很多图片裁剪插件,效果体验不是很好,今天推荐一款好用的插件-cropper,超级好用,裁剪功能丰富,满足了各种需求。 图片.png 代码: 1:引入相关的css和js文件,cropper.min.css,ImgCropping.css,cropper.min.js等,文件下载地址:http://www.jq22.com /jquery-info18167 <link rel="stylesheet" href="css/<em>cropper</em>.min.css"> <link rel="stylesheet" href="css ').<em>cropper</em>("rotate", 45); }); // 复位 $(".cropper-reset-btn").on("click", function() ').cropper("scaleX", 1); flagX = true; } flagX !
查看效果 首先引入cropper的样式和js <link rel="stylesheet" href="../dist/<em>cropper</em>.css"> <script src=".. /dist/<em>cropper</em>.js"></script> HTML结构
/utils/weCropper/we-cropper.wxml' /> <view class="cropperbg"> <template is="we-<em>cropper</em> position: fixed; width: 100%; height: 100%; top: 0; left: 0; background: #000; } .<em>cropper</em> device.windowHeight - 100; Page({ data: { showWeCropper: false, cropperOpt: { id: '<em>cropper</em> (res.tempFilePaths[0]); } }) }, touchStart(e) { this.<em>cropper</em>.touchStart(e) }, touchMove(e) { this.<em>cropper</em>.touchMove(e) }, touchEnd(e) { this.<em>cropper</em>.touchEnd(e) },
/cropperjs/dist/cropper.css"> <script src="https://unpkg.com/cropperjs/dist/<em>cropper</em>.js"></script> 初始化 对象 const image = document.getElementById('image'); const cropper = new Cropper(image, {}) 此时页面是这样的 2.2 const cropper = new Cropper(image, { aspectRatio: 1 / 3, // 裁剪比例 viewMode: 1, 2.7 响应式设计 Cropper.js 支持响应式设计,可以自动调整裁剪框的大小以适应容器的变化: js responsive: true, // 响应式设计 当设置为 true 时,Cropper.js 使用这个方法时,Cropper 实例会基于当前的裁剪区域生成一个新的画布(canvas),并且画布上只有裁剪框内的图像。
项目中要求图片上传并裁剪的功能,之前也有接触过很多图片裁剪插件,效果体验不是很好,今天推荐一款好用的插件-cropper,超级好用,裁剪功能丰富,满足了各种需求。 图片.png 图片.png 代码: 1:引入相关的css和js文件,cropper.min.css,ImgCropping.css,cropper.min.js等,文件下载地址:http://www.jq22 .com/jquery-info18167 <link rel="stylesheet" href="css/<em>cropper</em>.min.css"> <link rel="stylesheet" href ').cropper("rotate", 45); }); // 复位 $(".cropper-reset-btn").on("click", function() ').cropper("scaleX", 1); flagX = true; } flagX !
上网百度了一番,发现好多用的都是vue-cropper。我也就用了,个人感觉还是挺好用的。现在在这里用一个简单的小demo演示一下vue-cropper的使用方法。 其中上传用户头像的接口是java写的,感兴趣的话可以参考我的2017年12月2号的博客:前后端分离跨服务器文件上传-Java SpringMVC版 1、安装vue-cropper 使用npm本地安装vue-cropper npm install vue-cropper --save-dev 2、新建一个test.vue文件 该文件只做用来演示剪切上传图片的功能,下面直接贴出代码 test.vue: <template> " style="margin-top:-60px;margin-left:260px;">
最终为了实现想要的效果,我还是决定牺牲自己, 手动实现一个支持上传裁切并压缩的组件, 并取名为react-cropper-pro. 2022-07-16 16.02.04.gif react-cropper-pro 使用介绍 react-cropper-pro是一款简单轻量的图片上传 + 裁切 + 压缩 组件, 不依赖antd / element等第三方UI, 快速实现图片处理相关操作, 底层依赖react-cropper 安装 yarn add react-cropper-pro 使用 import CropperPro from 'react-cropper-pro'; export default () => 对象的宽高比例, 和canvas提供的toBlob 来实现图片的压缩, 核心代码如下: if (typeof cropper ! 4 - imgLevel); const { width, height } = cropper.getCropBoxData(); cropper.getCroppedCanvas
最近项目中入手了一个非常实用的插件,这里和大家一起分享下:通过canvas实现图片裁剪的工具--cropper.js cropper.js简介 cropper是一款使用简单且功能强大的图片剪裁jQuery 安装和使用 下载安装 cropper需要配合jQuery使用,因此需要同时引入cropper和jQuery。 # 可以使用npm下载 npm install cropper jquery # 通过bower安装 $ bower install cropper jquery # 通过yarn安装 $ yarn add cropper jquery 也可以在浏览器页面中直接引入使用。 属性获取初始化后获取Cropper.js实例 var cropper = $image.data('cropper'); 配置和方法 大师兄这里略过cropper实例初始化配置的部分,直接来到cropper
先看看官网的特点说明: Slim Image Cropper 是一个跨平台的 JavaScript 图像裁剪和上传插件。 它有非常简单的设置和强大的功能,以及漂亮的动画体验。
Cropper.js + Vue Integration 简介:Cropper.js 是一个强大的图片裁剪库,其 Vue 版本对 Vue 开发者非常友好。 安装与使用: npm install cropperjs vue-cropperjs <template>
Q1:为什么选择Cropper.js和如何安装Cropper.js? Q3:如何将图片读取显示和使用Cropper.js添加裁剪控件? 上传文件成功后,会触发onchange事件,调用loadingImg() //引入Cropper.js import 'cropperjs/dist/cropper.css'; import Cropper from 'cropperjs'; const CROPPER = null //创建一个cropper的全局对象 function loadingImg(eve){ //读取上传文件 实例----------------------------------------- CROPPER = new Cropper(image, {
************* 注: cropper.js 版本更新至1.5.11 。 cropper.js 通过canvas实现图片裁剪,最后在通过canvas获取裁剪区域的图片base64串。 cropper 文档:官方文档是全英文的,好吧我看不懂。 要想改背景,我是直接改,cropper.css样式中的 cropper-bg canvas(图片)相关 movable:类型:Boolean,默认值true。 build.cropper事件的简写方式。 ====== 。控件初始化前执行 built:类型:Function,默认值null。built.cropper事件的简写方式。 dragend.cropper事件的简写方式。====== 拖动结束执行 zoomin:类型:Function,默认值null。zoomin.cropper事件的简写方式。
今天实现了图片裁剪上传的功能,写下这篇blog,预防以后忘记 图片外链托管在github,图片无法加载 (1)前端实现 (1.1)cropper插件介绍 我们可以使用 cropper插件实现裁切和缩略图功能 下载地址为:https://github.com/fengyuanchen/cropper (1.2)cropper插件使用 (1.2.1)准备 解压下载下来的压缩包 并把dist目录下的:cropper.min.js 和cropper.min.css文件复制到项目目录下 (1.2.2)引入类库 <! --使用绝对路径引入类库,因为cropper是基于jquery的,所以jquery也要引入--> <script src="/js/jquery.min.js"></script> <link rel= "stylesheet" href="/css/<em>cropper</em>.min.css"> <script src="/js/<em>cropper</em>.min.js"></script> (1.2.3)html结构 <form
我们将用名为 Cropper.js 【https://fengyuanchen.github.io/cropperjs/】的库完成繁重的工作。 在命令行下执行以下命令: 1vue create cropper-project 出现提示时,选择默认选项。这将是一个简单的项目,所以不必要担心路由和其它一些东西。 导航到新项目并执行以下操作: 1npm install cropperjs --save 上面的命令会将 Cropper.js 安装到我们的项目中。 $refs.image; 3 this.cropper = new Cropper(this.image, { 4 zoomable: false, 5 scalable 结论 本文讲解了如何使用 Vue.js Web 程序中的 Cropper.js 库来操作图像。
第一次做上传剪裁图片,找了许多框架,最后找到一个优雅的图片裁剪插件vue-cropper,很方便新手入手 安装 npm install vue-cropper 使用 import VueCropper ="vue-cropper-content"> <vueCropper ref="<em>cropper</em>" :img="option.img" -- 裁剪框 start -->
-- 裁剪框 start -->
$nextTick(() => { this.cropper = new Cropper(this. $nextTick(() => { this.cropper = new Cropper(this. 初始化裁剪工具在捕获文件后,我们需要初始化 cropper.js。cropper.js 提供了多种配置选项,如裁剪框的比例、视图模式等。 可以根据项目需求进行配置:this.cropper = new Cropper(this. $nextTick(() => { this.cropper = new Cropper(this.
网上找了点教程,结合之前框架里就有的修改了一下,没做细节优化处理 demo 16:9的尺寸,自己可以修改 步骤: npm install vue-cropper 组件内使用 import { VueCropper } from 'vue-cropper' components: { VueCropper, }, <!