vue-select-avatar
Version:
96 lines (72 loc) • 2.31 kB
Markdown
3 的头像选择与裁剪组件,支持图片校验、压缩和格式转换
> 或者说输出一个正方形图片的库

<br />


- 🖼️ 图片格式校验与尺寸限制
- 📏 自动缩放超大图片
- ⚡ 内置图片压缩功能
- ✂️ 可视化区域裁剪
- 📤 支持输出文件或Base64格式
- 🎨 可配置JPEG背景色
```sh
npm i vue-select-avatar
pnpm add vue-select-avatar
yarn add vue-select-avatar
```
[点击查看文档](https://xiangheng08.github.io/vue-select-avatar/)
```vue
<script setup lang="ts">
import 'vue-select-avatar/style.css'
import { Viewport, isCancelError } from 'vue-select-avatar'
import { ref } from 'vue'
const viewportRef = ref<InstanceType<typeof Viewport>>()
const handleSelect = () => {
viewportRef.value
?.select({
// options...
})
.catch((err) => {
if (isCancelError(err)) {
return
}
})
}
const handleCropper = async () => {
const file = await viewportRef.value?.cropper({
// options...
})
if (file instanceof File) {
console.log(file.size, file)
}
}
</script>
<template>
<button @click="handleSelect">选择图片</button>
<button @click="handleCropper">截取图片</button>
<Viewport grid ref="viewportRef" />
</template>
```
```sh
git clone https://github.com/xiangheng08/vue-select-avatar.git
git clone https://gitee.com/xiangheng08/vue-select-avatar.git
cd vue-select-avatar
pnpm i
pnpm dev
pnpm build
pnpm docs:dev
pnpm docs:build
```
[ ](https://github.com/xiangheng08/vue-select-avatar/blob/HEAD/LICENSE)
[ ]: https://www.npmjs.com/package/vue-select-avatar
[ ]: https://badgen.net/npm/v/vue-select-avatar
[ ]: https://badgen.net/npm/dm/vue-select-avatar
基于 Vue