{"_id":"@axm-pack/vue-cropper-another","_rev":"4-3bc8298fba2acadaab130eac5651057f","name":"@axm-pack/vue-cropper-another","dist-tags":{"latest":"0.0.5"},"versions":{"0.0.1":{"name":"@axm-pack/vue-cropper-another","version":"0.0.1","keywords":["vue","cropper","vue-cropper","vue-component","vue-cropper-component"],"author":{"name":"goodboy"},"license":"ISC","_id":"@axm-pack/vue-cropper-another@0.0.1","maintainers":[{"name":"xm17906193","email":"xiamo@qwq.link"}],"homepage":"https://github.com/xyxiao001/vue-cropper#readme","bugs":{"url":"https://github.com/xyxiao001/vue-cropper/issues"},"dist":{"shasum":"1e875c60b97b8c7c7b65c247106115464ea865d3","tarball":"https://registry.npmjs.org/@axm-pack/vue-cropper-another/-/vue-cropper-another-0.0.1.tgz","fileCount":37,"integrity":"sha512-w0cKY83QFwdUfd6PrAoBqO/XJofwRi8O2hgQrI/+wPzL0/7FEB3RVhrQJDx2XSrS2Li5rVWIq2TzJMUtORJfbg==","signatures":[{"sig":"MEUCID5kxo+b2Eu+/d/lt/Tyf3N5Z1yyIsw5x3jbWXaLZqenAiEAtkHRDQ7YvJjL3Bqb7cayatQ9H+gG4G2EHQEgij2rOi8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":457336},"main":"./dist/index.js","gitHead":"2dcc08bfd6a056b54f8d47e210ec95ee333fb79e","scripts":{"build":"rm -rf ./dist && webpack --config webpack.config.js"},"_npmUser":{"name":"xm17906193","email":"xiamo@qwq.link"},"browserify":{"transform":["vueify"]},"repository":{"url":"git+https://github.com/xyxiao001/vue-cropper.git","type":"git"},"_npmVersion":"9.8.1","description":"A simple Vue picture clipping plugin","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"devDependencies":{"vue":"^2.5.17","sass":"^1.37.5","webpack":"^5.76.0","css-loader":"^6.8.1","vue-loader":"^15.4.2","@babel/core":"^7.1.2","webpack-cli":"^5.0.1","babel-loader":"^8.0.0-beta.0","style-loader":"^3.3.3","babel-runtime":"^6.26.0","babel-polyfill":"^6.26.0","@babel/preset-env":"^7.1.0","vue-template-compiler":"^2.5.17","babel-plugin-transform-runtime":"^6.23.0","@babel/plugin-transform-runtime":"^7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-cropper-another_0.0.1_1721040275401_0.047545477013300586","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@axm-pack/vue-cropper-another","version":"0.0.2","keywords":["vue","cropper","vue-cropper","vue-component","vue-cropper-component"],"author":{"name":"goodboy"},"license":"ISC","_id":"@axm-pack/vue-cropper-another@0.0.2","maintainers":[{"name":"xm17906193","email":"xiamo@qwq.link"}],"homepage":"https://github.com/xyxiao001/vue-cropper#readme","bugs":{"url":"https://github.com/xyxiao001/vue-cropper/issues"},"dist":{"shasum":"fb8c7e4c66cb05c3d416dad83428ce9b84317482","tarball":"https://registry.npmjs.org/@axm-pack/vue-cropper-another/-/vue-cropper-another-0.0.2.tgz","fileCount":38,"integrity":"sha512-8yfLlRmG5uA5thSSABfxRltsp20IxOpO8Q8nD52917JyQncJwNxGP+9+hqpo5gnDgLMD/OfMaVMPUZW/qN0reQ==","signatures":[{"sig":"MEUCIQDUFFV4dSPar87LfiOCsfCYXvjAlPj5djf73HfAh3q2MQIgcFXTzELF1Iuona/qpSf5evSA5kET+3RUxSw4c2HUUVc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":469340},"main":"./dist/index.js","gitHead":"2dcc08bfd6a056b54f8d47e210ec95ee333fb79e","scripts":{"build":"rm -rf ./dist && webpack --config webpack.config.js"},"_npmUser":{"name":"xm17906193","email":"xiamo@qwq.link"},"browserify":{"transform":["vueify"]},"repository":{"url":"git+https://github.com/xyxiao001/vue-cropper.git","type":"git"},"_npmVersion":"9.8.1","description":"A simple Vue picture clipping plugin","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"devDependencies":{"vue":"^2.5.17","sass":"^1.37.5","webpack":"^5.76.0","css-loader":"^6.8.1","vue-loader":"^15.4.2","@babel/core":"^7.1.2","webpack-cli":"^5.0.1","babel-loader":"^8.0.0-beta.0","style-loader":"^3.3.3","babel-runtime":"^6.26.0","babel-polyfill":"^6.26.0","@babel/preset-env":"^7.1.0","vue-template-compiler":"^2.5.17","babel-plugin-transform-runtime":"^6.23.0","@babel/plugin-transform-runtime":"^7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-cropper-another_0.0.2_1721045936424_0.9668218280201588","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@axm-pack/vue-cropper-another","version":"0.0.3","keywords":["vue","cropper","vue-cropper","vue-component","vue-cropper-component"],"author":{"name":"goodboy"},"license":"ISC","_id":"@axm-pack/vue-cropper-another@0.0.3","maintainers":[{"name":"xm17906193","email":"xiamo@qwq.link"}],"homepage":"https://github.com/xyxiao001/vue-cropper#readme","bugs":{"url":"https://github.com/xyxiao001/vue-cropper/issues"},"dist":{"shasum":"27fc27c1ffb65ef3542116955e1312c69f13dbe5","tarball":"https://registry.npmjs.org/@axm-pack/vue-cropper-another/-/vue-cropper-another-0.0.3.tgz","fileCount":38,"integrity":"sha512-86MZZPh3tNLFvw1qFlbYIqQ3Vx4j/+JjhUGXcETxqjAB4XFXJP6REJJPBWXLkSyW+58Ckh8hXefLotsV348myA==","signatures":[{"sig":"MEQCIAr7W7R9X62P7TdkN6DYVBD9Wvbyl/KXzP4uNngsmQoMAiAo3hfEfUgEGvFO6XFzezUdLpiI2pHemQRNlSvTTEx5VA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":469942},"main":"./dist/index.js","gitHead":"2dcc08bfd6a056b54f8d47e210ec95ee333fb79e","scripts":{"build":"rm -rf ./dist && webpack --config webpack.config.js"},"_npmUser":{"name":"xm17906193","email":"xiamo@qwq.link"},"browserify":{"transform":["vueify"]},"repository":{"url":"git+https://github.com/xyxiao001/vue-cropper.git","type":"git"},"_npmVersion":"9.8.1","description":"A simple Vue picture clipping plugin","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"devDependencies":{"vue":"^2.5.17","sass":"^1.37.5","webpack":"^5.76.0","css-loader":"^6.8.1","vue-loader":"^15.4.2","@babel/core":"^7.1.2","webpack-cli":"^5.0.1","babel-loader":"^8.0.0-beta.0","style-loader":"^3.3.3","babel-runtime":"^6.26.0","babel-polyfill":"^6.26.0","@babel/preset-env":"^7.1.0","vue-template-compiler":"^2.5.17","babel-plugin-transform-runtime":"^6.23.0","@babel/plugin-transform-runtime":"^7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-cropper-another_0.0.3_1721046327748_0.03981455823607982","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@axm-pack/vue-cropper-another","version":"0.0.4","keywords":["vue","cropper","vue-cropper","vue-component","vue-cropper-component"],"author":{"name":"goodboy"},"license":"ISC","_id":"@axm-pack/vue-cropper-another@0.0.4","maintainers":[{"name":"xm17906193","email":"xiamo@qwq.link"}],"homepage":"https://github.com/xyxiao001/vue-cropper#readme","bugs":{"url":"https://github.com/xyxiao001/vue-cropper/issues"},"dist":{"shasum":"bf94a152ee3bfa23cbac27b2306e94cca9106e15","tarball":"https://registry.npmjs.org/@axm-pack/vue-cropper-another/-/vue-cropper-another-0.0.4.tgz","fileCount":38,"integrity":"sha512-CBXYryiM6zEJNiVehTrSIs/BpNu7OhkB/hpwgf5YMxRbWo9+hiRakAVFjrK4YArD2jjI2XhOmqsu+mFTvwPOAw==","signatures":[{"sig":"MEYCIQDqL1HXMpMR0rbYa0S8/aSzSVgbM3rjqUPSnm5TKcVUDQIhANeMY7I01D03Fe6DYNk9oH7C7ftbNlzM97oAFOp0yiHg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":468929},"main":"./dist/index.js","gitHead":"2dcc08bfd6a056b54f8d47e210ec95ee333fb79e","scripts":{"build":"rm -rf ./dist && webpack --config webpack.config.js"},"_npmUser":{"name":"xm17906193","email":"xiamo@qwq.link"},"browserify":{"transform":["vueify"]},"repository":{"url":"git+https://github.com/xyxiao001/vue-cropper.git","type":"git"},"_npmVersion":"9.8.1","description":"A simple Vue picture clipping plugin","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"devDependencies":{"vue":"^2.5.17","sass":"^1.37.5","webpack":"^5.76.0","css-loader":"^6.8.1","vue-loader":"^15.4.2","@babel/core":"^7.1.2","webpack-cli":"^5.0.1","babel-loader":"^8.0.0-beta.0","style-loader":"^3.3.3","babel-runtime":"^6.26.0","babel-polyfill":"^6.26.0","@babel/preset-env":"^7.1.0","vue-template-compiler":"^2.5.17","babel-plugin-transform-runtime":"^6.23.0","@babel/plugin-transform-runtime":"^7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-cropper-another_0.0.4_1721047503064_0.2922598566340573","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"@axm-pack/vue-cropper-another","version":"0.0.5","description":"A simple Vue picture clipping plugin","keywords":["vue","cropper","vue-cropper","vue-component","vue-cropper-component"],"main":"./dist/index.js","repository":{"type":"git","url":"git+https://github.com/xyxiao001/vue-cropper.git"},"author":{"name":"goodboy"},"license":"ISC","bugs":{"url":"https://github.com/xyxiao001/vue-cropper/issues"},"homepage":"https://github.com/xyxiao001/vue-cropper#readme","scripts":{"build":"rm -rf ./dist && webpack --config webpack.config.js"},"devDependencies":{"@babel/core":"^7.1.2","@babel/plugin-transform-runtime":"^7.1.0","@babel/preset-env":"^7.1.0","babel-loader":"^8.0.0-beta.0","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-runtime":"^6.26.0","css-loader":"^6.8.1","style-loader":"^3.3.3","vue":"^2.5.17","vue-loader":"^15.4.2","vue-template-compiler":"^2.5.17","webpack":"^5.76.0","webpack-cli":"^5.0.1","sass":"^1.37.5"},"browserify":{"transform":["vueify"]},"_id":"@axm-pack/vue-cropper-another@0.0.5","gitHead":"2dcc08bfd6a056b54f8d47e210ec95ee333fb79e","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-/5AvfGQQNEm82oBHFgmq/tjisYAwGe5RjYkXcb6cBsj2fLgUrenMNK3dSxqbfYGCBgMBF4FI00CqUbIky/neUA==","shasum":"5721e2ee2a7f4124881129977958d4e6e61499d9","tarball":"https://registry.npmjs.org/@axm-pack/vue-cropper-another/-/vue-cropper-another-0.0.5.tgz","fileCount":38,"unpackedSize":468929,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQcxM+8AyNyHQj0wLbC9PnfA/WHZ9ZU4m0R8ImN73NjAIhAIMtFkmuoj/QgQ4T1hdNsmQ7eSNT5C8BCMdCd6gkJKle"}]},"_npmUser":{"name":"xm17906193","email":"xiamo@qwq.link"},"directories":{},"maintainers":[{"name":"xm17906193","email":"xiamo@qwq.link"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-cropper-another_0.0.5_1721049395420_0.7362998424022655"},"_hasShrinkwrap":false}},"time":{"created":"2024-07-15T10:44:35.325Z","modified":"2024-07-15T13:16:35.843Z","0.0.1":"2024-07-15T10:44:35.565Z","0.0.2":"2024-07-15T12:18:56.575Z","0.0.3":"2024-07-15T12:25:27.956Z","0.0.4":"2024-07-15T12:45:03.288Z","0.0.5":"2024-07-15T13:16:35.660Z"},"bugs":{"url":"https://github.com/xyxiao001/vue-cropper/issues"},"author":{"name":"goodboy"},"license":"ISC","homepage":"https://github.com/xyxiao001/vue-cropper#readme","keywords":["vue","cropper","vue-cropper","vue-component","vue-cropper-component"],"repository":{"type":"git","url":"git+https://github.com/xyxiao001/vue-cropper.git"},"description":"A simple Vue picture clipping plugin","maintainers":[{"name":"xm17906193","email":"xiamo@qwq.link"}],"readme":"# vue-cropper\n一个优雅的图片裁剪插件\n\n[ [查看演示 Demo](https://github.xyxiao.cn/vue-cropper/docs/vue2.html) ]  \n[ [README_english](./english.md) ]  \n[ [更新日志](./CHANGELOG.md) ]\n\n\n\n## 一、安装使用\n\n\n### 1. 安装\n\n```bash\n# npm 安装\nnpm install vue-cropper\n```\n```bash\n# yarn 安装\nyarn add vue-cropper\n```\n\n\n如果你没有使用 `npm`\n\n[在线例子vue-cropper + vue.2x](https://codepen.io/xyxiao001/pen/wxwKGz)\n\n[在线例子vue-cropper@next + vue.3x](https://codepen.io/xyxiao001/pen/yLooYKg)\n\n服务器渲染 `nuxt` 解决方案 设置为 `ssr: false`\n```js\nmodule.exports = {\n  ...\n  build: {\n    vendor: [\n      'vue-cropper\n    ...\n    plugins: [\n      { src: '~/plugins/vue-cropper', ssr: false }\n    ]\n  }\n}\n```\n\n\n### 2. 引入 Vue Cropper \n`Vue 3` 组件内引入\n```bash\nnpm install vue-cropper@next\nimport 'vue-cropper/dist/index.css'\nimport { VueCropper }  from \"vue-cropper\";\n```\n\n`Vue3` 全局引入\n```js\nimport VueCropper from 'vue-cropper'; \nimport 'vue-cropper/dist/index.css'\n\nconst app = createApp(App)\napp.use(VueCropper)\napp.mount('#app')\n```\n\n`Vue3 CDN` 方式引入\n```html\n<style type=\"text/css\" src=\"https://cdn.jsdelivr.net/npm/vue-cropper@1.0.2/dist/index.css\"></style> \n```\n\n```js\n<script src=\"https://cdn.jsdelivr.net/npm/vue@3.2.1/dist/vue.global.js\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/vue-cropper@1.0.2/dist/vue-cropper.umd.js\"></script>\nconst app = Vue.createApp({...});\napp.component('vue-cropper', window['vue-cropper'].VueCropper);\n```\n\n\n`Vue2` 组件内引入\n```js\nimport { VueCropper }  from 'vue-cropper' \ncomponents: {\n  VueCropper\n}\n```\n\n`Vue2` 全局引入\n```js\nimport VueCropper from 'vue-cropper'\nVue.use(VueCropper)\n```\n\n\n`Vue2 CDN` 方式引入\n```html\n<script src=\"//cdn.jsdelivr.net/npm/vue-cropper@0.4.9/dist/index.js\"></script>\n```\n```js\nVue.use(window['vue-cropper'].default)\n```\n\n\n`nuxt` 引入方式\n```js\nif(process.browser) {\n  vueCropper = require('vue-cropper')\n  Vue.use(vueCropper.default)\n}\n```\n\n### 3. 代码中使用\n\n> **重要！** 需要关掉本地的 mock 服务， 不然图片转化会报错\n> **重要！** 需要使用外层容器包裹并设置宽高\n\n```html\n<vueCropper\n  ref=\"cropper\"\n  :img=\"option.img\"\n  :outputSize=\"option.size\"\n  :outputType=\"option.outputType\"\n></vueCropper>\n```\n\n\n## 二、文档\n\n### 1. props\n\n> 目前还不知道什么原因项目里面开启 `mock` 会导致 file 报错，建议使用时关掉 `mock`\n\n\n名称 | 功能 | 默认值 | 可选值\n--- | --- | --- | ---\nimg | 裁剪图片的地址 | 空 | `url 地址`, `base64`, `blob`\noutputSize | 裁剪生成图片的质量 | `1` | 0.1 ~ 1\noutputType | 裁剪生成图片的格式 | jpg (jpg 需要传入jpeg) | `jpeg`, `png`, `webp`\ninfo | 裁剪框的大小信息 | `true` | `true`, `false`\ncanScale | 图片是否允许滚轮缩放 | `true` | `true`, `false`\nautoCrop | 是否默认生成截图框 | `false` | `true`, `false`\nautoCropWidth | 默认生成截图框宽度 | 容器的 80% | 0 ~ max\nautoCropHeight | 默认生成截图框高度 | 容器的 80% | 0 ~ max\nfixed | 是否开启截图框宽高固定比例 | `false` | `true`, `false`\nfixedNumber | 截图框的宽高比例, 开启`fixed`生效 | `[1, 1]` | `[ 宽度 ,  高度 ]`\nfull | 是否输出原图比例的截图 | `false` | `true`, `false`\nfixedBox | 固定截图框大小 | 不允许改变 | `false` | `true`, `false`\ncanMove | 上传图片是否可以移动 | `true` | `true`, `false`\ncanMoveBox | 截图框能否拖动 | `true` | `true`, `false`\noriginal | 上传图片按照原始比例渲染 | `false` | `true`, `false`\ncenterBox | 截图框是否被限制在图片里面 | `false` | `true`, `false`\nhigh | 是否按照设备的dpr 输出等比例图片 | `true` | `true`, `false`\ninfoTrue | true 为展示真实输出图片宽高 `false` 展示看到的截图框宽高 | false | `true`, `false`\nmaxImgSize | 限制图片最大宽度和高度 | `2000` | 0 ~ max\nenlarge | 图片根据截图框输出比例倍数 | `1` | 0 ~ max(建议不要太大不然会卡死的呢)\nmode | 图片默认渲染方式 | `contain` | `contain` , `cover`, `100px`, `100%` auto\nlimitMinSize | 裁剪框限制最小区域 | 10 | Number, Array, String\nfillColor | 导出时背景颜色填充 | 空 | `#ffffff`, `white`\n\n### 2. 可用回调方法\n\n- `@realTime` 实时预览事件\n- `@imgMoving`  图片移动回调函数\n- `@cropMoving` 截图框移动回调函数\n- `@imgLoad`  图片加载的回调, 返回结果 `success`,  `error`\n\n#### @realTime 实时预览事件\n```js\nrealTime(data) {\n  var previews = data\n  var h = 0.5\n  var w = 0.2\n\n  this.previewStyle1 = {\n    width: previews.w + \"px\",\n    height: previews.h + \"px\",\n    overflow: \"hidden\",\n    margin: \"0\",\n    zoom: h\n  }\n\n  this.previewStyle2 = {\n    width: previews.w + \"px\",\n    height: previews.h + \"px\",\n    overflow: \"hidden\",\n    margin: \"0\",\n    zoom: w\n  }\n\n  // 固定为 100 宽度\n  this.previewStyle3 = {\n    width: previews.w + \"px\",\n    height: previews.h + \"px\",\n    overflow: \"hidden\",\n    margin: \"0\",\n    zoom: 100 / preview.w\n  }\n\n  // 固定为 100 高度\n  this.previewStyle4 = {\n    width: previews.w + \"px\",\n    height: previews.h + \"px\",\n    overflow: \"hidden\",\n    margin: \"0\",\n    zoom: 100 / preview.h\n  }\n  this.previews = data\n}\n```\n\n```html\n<div class=\"show-preview\" :style=\"{'width': previews.w + 'px', 'height': previews.h + 'px',  'overflow': 'hidden',\n    'margin': '5px'}\">\n  <div :style=\"previews.div\">\n    <img :src=\"option.img\" :style=\"previews.img\">\n  </div>\n</div>\n<p>中等大小</p>\n<div :style=\"previewStyle1\"> \n  <div :style=\"previews.div\">\n    <img :src=\"previews.url\" :style=\"previews.img\">\n  </div>\n</div>\n\n<p>迷你大小</p>\n<div :style=\"previewStyle2\"> \n  <div :style=\"previews.div\">\n    <img :src=\"previews.url\" :style=\"previews.img\">\n  </div>\n</div>\n```\n\n\n#### @imgMoving 图片移动回调函数\n\n返回的参数内容\n```js\n{\n   moving: true, // moving 是否在移动\n   axis: {\n     x1: 1, // 左上角\n     x2: 1，// 右上角\n     y1: 1，// 左下角\n     y2: 1 // 右下角\n   }\n }\n```\n\n#### @cropMoving 截图框移动回调函数\n返回的参数内容\n```js\n{\n   moving: true, // moving 是否在移动\n   axis: {\n     x1: 1, // 左上角\n     x2: 1，// 右上角\n     y1: 1，// 左下角\n     y2: 1 // 右下角\n   }\n }\n```\n\n\n### 2. 内置方法 和 属性\n通过 `this.$refs.cropper` 调用\n\n**属性**\n\n属性 | 说明\n--- | ---\nthis.$refs.cropper.cropW |  截图框宽度\nthis.$refs.cropper.cropH | 截图框高度\n\n\n**方法**\n\n方法 | 说明\n--- | ---\nthis.$refs.cropper.startCrop() | 开始截图\nthis.$refs.cropper.stopCrop() | 停止截图\nthis.$refs.cropper.clearCrop() | 清除截图\nthis.$refs.cropper.changeScale() | 修改图片大小 正数为变大 负数变小\nthis.$refs.cropper.getImgAxis() | 获取图片基于容器的坐标点\nthis.$refs.cropper.getCropAxis() | 获取截图框基于容器的坐标点\nthis.$refs.cropper.goAutoCrop | 自动生成截图框函数\nthis.$refs.cropper.rotateRight() | 向右边旋转90度\nthis.$refs.cropper.rotateLeft() | 向左边旋转90度\n\n**获取截图内容**\n\n获取截图的 base64 数据\n\n```js\nthis.$refs.cropper.getCropData(data => {\n  // do something\n  console.log(data)  \n})\n```\n\n获取截图的 blob 数据\n```js\nthis.$refs.cropper.getCropBlob(data => {\n  // do something\n  console.log(data)  \n})\n```\n\n\n\n\n\n## 三、相关文章参考\n- [shn_ui - vue-cropper ](https://shnhz.github.io/shn-ui/#/component/vue-cropper) - 野宁新之助\n- [vue全家桶开发管理后台—裁切图片](https://blog.csdn.net/qq_30632003/article/details/79639346)  - 麻球科技-菅双鹏\n- [Vue-cropper 图片裁剪的基本原理](https://www.cnblogs.com/tugenhua0707/p/8859291.html) - 龙恩0707\n- [关于昵称和头像的总结（模仿微信）](https://zhuanlan.zhihu.com/p/45746753)  - 秋晨光\n- [vue-cropper-h5](https://github.com/2277419213/vue-cropper-h5)  - 居里栈栈\n\n## 四、交流\n有什么意见，或者 bug，或者想一起开发 `vue-cropper`， 或者想一起开发其他插件\n![image](https://github.com/xyxiao001/vue-cropper/assets/15681693/b02693ad-8577-4d70-b0ce-933b0b5fe0f9)\n\n\n\n\n\n","readmeFilename":"README.md"}