小程序图片设置宽高的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小程序图片设置宽高的方法相关的知识,希望对你有一定的参考价值。

参考技术A 1. image组件默认宽度300px、高度225px  ;

2.css设置宽高(尺寸最好为rpx,更适应屏幕)

3.mode 设置缩放模式(13种)

样式设置宽度100%   添加属性 mode="widthFix"

4.套在div种,设置div宽高,

简单写一下图片上传获取宽高的方法

最近,我负责的后台系统有一个图片上传校验图片比例的需求,以前没有做过这种需求,便查了一些资料总结了一下图片上传获取宽高的方法。
想要获取图片的宽高首先要知道图片的url;一般图片上传UI组件或自己封装的组件都会获取到图片的url,知道url就好办了,上代码。

var img_url = URL;//图片URL地址
var imgObj = new Image();//创建对象
imgObj.src = img_url;//改变图片地址
console.log(imgObj.width + "" + imgObj.height)

what?为啥输出是00;其实我也遇到过这个问题;原因是在输出之前图片还没有加载完,只要在图片加载完后就可以获取到了;

var img_url = URL;//图片URL地址
var imgObj = new Image();//创建对象
imgObj.src = img_url;//改变图片地址
imgObj.onload = function()
    console.log(imgObj.width + "" + imgObj.height)

好了,这下就可以输出图片的宽高了;用这种方法效率不是很高,也可以用计时器循环检测来实现,只要图片宽和高任意一项大于0,就可获取到图片的宽和高;

// 记录当前时间戳
var start_time = new Date().getTime()
// 图片地址 后面加时间戳是为了避免缓存
var img_url = ‘url‘+start_time
// 创建对象
var imgObj = new Image()
// 改变图片的src
imgObj.src = img_url
// 定时执行获取宽高
var check = function()
 // 只要任何一方大于0
 // 表示已经服务器已经返回宽高
    if (imgObj.width>0 || imgObj.height>0) 
        var diff = new Date().getTime() - start_time;
        console.log(imgObj.width + "" + imgObj.height)
        clearInterval(set);
    

var set = setInterval(check,40)

这种方法比onload方法执行效率会快一些;

以上是关于小程序图片设置宽高的方法的主要内容,如果未能解决你的问题,请参考以下文章

小程序canvas层级太高的解决办法

小程序 - 上传图片 裁剪图片

微信小程序设置图片大小

实现小程序image图片宽度100%高度自适应

小程序图片显示问题

小程序图片 mode 设置为 widthFix 图片显示瞬间竖向拉伸变形闪烁