小程序图片显示

本贴最后更新于 2684 天前,其中的信息可能已经斗转星移

对于一张网络图片高度太高,而显示不全如何解决?

微信小程序 image api

属性名 类型 默认值 说明
src String 图片资源地址
mode String 'scaleToFill' 图片裁剪、缩放的模式
binderror HandleEvent 当错误发生时,发布到 AppService 的事件名,事件对象 event.detail = {errMsg: 'something wrong'}
bindload HandleEvent 当图片载入完毕时,发布到 AppService 的事件名,事件对象 event.detail = {height:'图片高度 px', width:'图片宽度 px'}

注:image 组件默认宽度 300px、高度 225px

mode 有效值:

mode 有 13 种模式,其中 4 种是缩放模式,9 种是裁剪模式。

模式 说明
缩放 scaleToFill 不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素
缩放 aspectFit 保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。
缩放 aspectFill 保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。
缩放 widthFix 宽度不变,高度自动变化,保持原图宽高比不变
裁剪 top 不缩放图片,只显示图片的顶部区域
裁剪 bottom 不缩放图片,只显示图片的底部区域
裁剪 center 不缩放图片,只显示图片的中间区域
裁剪 left 不缩放图片,只显示图片的左边区域
裁剪 right 不缩放图片,只显示图片的右边区域
裁剪 top left 不缩放图片,只显示图片的左上边区域
裁剪 top right 不缩放图片,只显示图片的右上边区域
裁剪 bottom left 不缩放图片,只显示图片的左下边区域
裁剪 bottom right 不缩放图片,只显示图片的右下边区域

WXML:

   <image style="width: {{imageWidth}}px; height: {{imageHeight}}px;"  src="{{imgurl}}"  mode="aspectFill"  bindload="imgload">
   </image>

JS:

  Page({ 
  data:{ 
	imgurl:'http://hukang02.b0.upaiyun.com/1480321452672.jpg', 
	imageWidth:0, 
	imageHeight:0  
 }, 
  imgload: function(e){ 
	console.log("图片加载完成="+e.detail);  
	//用来计算高宽  
	this.setData(wxAutoImageCal(e));  
 } 
})

计算宽高显示:

function wxAutoImageCal(e){ 
  //获取图片的原始长宽  
  var originalWidth = e.detail.width;  
  var originalHeight = e.detail.height;  
  var windowWidth = 0,windowHeight = 0;  
  var imageWidth= 0,imageHeight= 0;  
  var results= {};  
 //获取屏幕信息  
  wx.getSystemInfo({ 
	  success: function(res) { 
		windowWidth = res.windowWidth;  
		windowHeight = res.windowHeight;  
		//判断按照那种方式进行缩放  
		if(originalWidth > windowWidth){//在图片width大于手机屏幕width时候  
		  imageWidth= windowWidth;  
		  imageHeight= (imageWidth*originalHeight)/originalWidth;  
		  results.imageWidth= imageWidth;  
		  results.imageHeight= imageHeight;  
		}else{//否则展示原来的数据  
		  results.imageWidth= originalWidth;  
		  results.imageHeight= originalHeight;  
		} 
	  } 
	}) 
	return results;  
  } 
  • 微信

    腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。

    130 引用 • 793 回帖
  • 代码
    466 引用 • 631 回帖 • 9 关注
  • 猿码阁
    19 引用 • 14 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • someone756 1

    b6dedd358a56431bbb9f625109b36ae6-2017071810.37.09.png

    6327b4cbc98a46b2b3eaf1262e030e9d-2017071810.38.00.png

    @88250 点击他的头像之后,怎么会出现我的头像?