uni-app tt-cropper图片裁剪插件 南风抚我意 裁剪后的图片变大了?

发布于 1周前 作者 itying888 来自 Uni-App

uni-app tt-cropper图片裁剪插件 南风抚我意 裁剪后的图片变大了?

裁剪后的图片变大了?

1 回复

关于你提到的uni-app中使用tt-cropper图片裁剪插件后裁剪图片变大的问题,这通常是由于图片裁剪后的分辨率或尺寸设置不当导致的。在tt-cropper中,你可以通过配置相关参数来控制裁剪后的图片大小。以下是一个简单的代码示例,展示了如何使用tt-cropper插件并设置裁剪后的图片尺寸:

首先,确保你已经在uni-app项目中安装了tt-cropper插件。如果还没有安装,可以使用以下命令安装:

npm install @ttwstudio/uni-app-tt-cropper --save

然后,在你的页面组件中引入并使用tt-cropper。以下是一个简单的示例代码:

<template>
  <view>
    <button @click="chooseImage">选择图片</button>
    <view v-if="imageUrl">
      <image :src="imageUrl" style="width: 100%; height: auto;"></image>
      <tt-cropper
        ref="cropper"
        :src="imageUrl"
        :info="true"
        :fixedBox="true"
        :width="300"
        :height="300"
        @getCropBlob="getCropBlob"
      ></tt-cropper>
      <button @click="cropImage">裁剪图片</button>
    </view>
    <view v-if="croppedImageUrl">
      <image :src="croppedImageUrl" style="width: 100%; height: auto;"></image>
    </view>
  </view>
</template>

<script>
import ttCropper from '@ttwstudio/uni-app-tt-cropper'

export default {
  components: { ttCropper },
  data() {
    return {
      imageUrl: '',
      croppedImageUrl: ''
    }
  },
  methods: {
    chooseImage() {
      uni.chooseImage({
        count: 1,
        success: (res) => {
          this.imageUrl = res.tempFilePaths[0]
        }
      })
    },
    cropImage() {
      this.$refs.cropper.getCropBlob((blob) => {
        const reader = new FileReader()
        reader.onload = (e) => {
          this.croppedImageUrl = e.target.result
        }
        reader.readAsDataURL(blob)
      })
    },
    getCropBlob(event) {
      console.log(event.detail.blob) // 这里可以处理裁剪后的blob数据
    }
  }
}
</script>

在这个示例中,我们设置了裁剪框的固定宽度和高度为300x300像素。当你点击“裁剪图片”按钮时,会调用cropImage方法,该方法会触发tt-croppergetCropBlob事件来获取裁剪后的图片数据,并将其转换为base64格式显示在页面上。

请确保你根据实际需求调整裁剪框的尺寸和其他参数。如果裁剪后的图片仍然变大,请检查你的图片原始尺寸和裁剪框尺寸的比例,以及是否有其他地方(如CSS样式)影响了图片的显示大小。

回到顶部