微信小程序图片裁剪

缩放保持纵横比例缩放图片使多出来的宽和高隐藏。

<view class="box">
    <image src="13075_202201191606963564.jpg" style="width: {{imageWidth}}px;height: {{imageHeight}}px;"></image>
  </view>
.box{
  width: 90px;
  height: 120px;
  overflow: hidden;
  display: flex;
  align-items: center;
}
 wx.getImageInfo({
                src: '',//图片路径
                success(res) {
                  let width = res.width; //图片真实的宽
                  let height = res.height; //图片真实的高
                  let str = width / height; //图片的宽高比
                  let div_width = 90 //假设盒子的宽
                  let div_height = 120 //假设盒子的高
                  let top = 0;        //图片也可以使用定位得到这个效果,我目前用的是弹性盒子,可以根据需求来改。
                  let left = 0;
                  if (str > 1) {
                    //横版图片---宽比高长--保证短边显示,所以用短边算出要缩小/放大的比例
                    var ratio = div_height / height //--缩放比例
                    // 用缩放比例乘以宽高
                    top = (ratio * height - div_height) / 2;
                    left = (ratio * width - div_width) / 2;
                    that.setData({
                      imageWidth: ratio * width,
                      imageHeight: ratio * height,
                      imageLeft: left,      
                      imageTop: top
                    })
                  } else {
                    //竖版图片---高比宽长-----宽是短边
                    var ratio = div_width / width //--缩放比例
                    // 用缩放比例乘以宽高
                    top = (ratio * height - div_height) / 2;
                    left = (ratio * width - div_width) / 2;
                    that.setData({
                      imageWidth: ratio * width,
                      imageHeight: ratio * height,
                      imageLeft: left,
                      imageTop: top,
                    })
                  }
                }
              })

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 对于微信小程序中modal标题变成图片的问题,可以通过以下步骤解决: 1. 确认标题是否是以图片的形式呈现的,如果是,可以考虑修改代码,将标题改为文字形式。 2. 检查代码中是否存在异常,例如,是否存在冲突或错误等问题,如果有,可以尝试调试或修改代码。 3. 如果以上步骤无法解决问题,可以尝试重新安装微信或升级微信版本,或者向微信官方客服咨询相关问题。 ### 回答2: 微信小程序的Modal组件是一种常用的交互方式,用于显示一段弹窗样式的内容,通常包含一个标题和一个正文。然而,默认情况下,标题只能是文本形式。 如果我们需要将Modal的标题改为图片形式,可以采取以下步骤: 1. 首先,找到Modal组件的源代码,通常是一个wxss文件和一个wxml文件。 2. 在wxml文件中的标题部分,将文本形式的标题代码注释掉。 3. 在注释的位置,添加一个`<view>`标签,并给它设置一个class,比如`title-image`。 4. 在wxss文件中,找到之前设置的class,设置它的样式属性为`background-image`,属性值为图片的URL。 以上步骤完成后,Modal的标题就变成了一张图片。 需要注意的是,图片的URL可以是网络图片的链接,也可以是小程序本地的图片路径。如果是网络图片,需要在小程序开发者工具中设置合法的域名白名单。另外,为了保证显示效果和用户体验,建议选择合适的图片大小并调整样式,以确保标题图片与Modal整体样式的协调。 总之,通过这样的方式,我们可以将微信小程序的Modal的标题变成一张图片,从而满足一些特殊需求下的个性化设计和呈现方式。 ### 回答3: 微信小程序modal标题变成图片的方法是通过将图片作为背景,来替换原有的文字标题。具体实现步骤如下: 1. 首先,准备一张需要作为标题的图片,保证图片的大小和样式符合小程序的要求。 2. 在小程序的modal组件中,设置相关样式,将文字标题部分的背景图片替换为所准备的图片。可以通过以下代码来设置背景图片: ```css .modal-title { background: url('图片路径') center no-repeat; background-size: cover; } ``` 3. 将原有的文字标题隐藏或删除,以避免与背景图片重叠。 通过以上步骤,就可以将微信小程序modal的标题变成图片了。注意,为了保证图片的可见性和美观性,需要提前将标题图片进行合理的设计和准备。同时,为了适配不同屏幕尺寸的设备,可能需要对背景图片进行适当的裁切和布局调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值