+
103
-

uniapp如何按照长宽对比对图片进行裁剪?

uniapp如何按照长宽对比对图片进行裁剪?


网友回复

+
13
-

在 UniApp 中,可以通过 Canvas 或 JavaScript 实现按照长宽比例裁剪图片。以下是具体步骤:

使用 Canvas 裁剪图片

Canvas 是 HTML5 提供的绘图工具,适合在前端实现图片裁剪。

实现步骤:获取图片信息:加载图片并获取其原始宽高。计算裁剪区域:根据目标长宽比例计算裁剪区域。绘制到 Canvas:将裁剪后的图片绘制到 Canvas 上。导出裁剪后的图片:将 Canvas 内容导出为图片文件。示例代码:
<template>
  <view>
    <canvas canvas-id="myCanvas" style="width: 300px; height: 300px;"></canvas>
    <button @click="cropImage">裁剪图片</button>
  </view>
</template>

<script>
export default {
  data() {
    return {
      imagePath: '/static/sample.jpg', // 图片路径
      targetRatio: 1 / 1, // 目标长宽比例(例如 1:1)
    };
  },
  methods: {
    cropImage() {
      const ctx = uni.createCanvasContext('myCanvas', this);
      uni.getImageInfo({
        src: this.imagePath,
        success: (res) => {
          const imgWidth = res.wid...

点击查看剩余70%

我知道答案,我要回答