<image src="../images/xwbanner.png" mode="widthFix" bindload="imageLoad" style="width:{{ images[index].width }}rpxheight:{{ images[index].height }}rpx" ></image>
wxss部分:
image{
width:100%;
}
js部分:
Page({
data: {
images:{}
},
imageLoad: function(e){
var $width=e.detail.width,//获取图片真实宽度
$height=e.detail.height,
ratio=$width/$height //图片的真实宽高比例
var viewWidth=718, //设置图片显示宽度,左右留有16rpx边距
viewHeight=718/ratio //计算的高度值
var image=this.data.images
//将图片的datadata-index作为image对象的key,然后存储图片的宽高值
image[e.target.dataset.index]={
width:viewWidth,
height:viewHeight
}
this.setData({
images:image
})
},
})
实现功能参考: 微信小程序自定义组件实现图片单指拖动、双指缩放效果 有修改。
给图片加拖动事件,我们需要知道它什么时候被点击、被拖拽和拖拽结束。
通过修改imageView的margin-left和margin-top来改变图片的位置以实现图片的单指移动效果和所有 *** 作结束松手后的回d效果。
通过修改imageView的宽和高以实现图片放大缩小的效果。且需要同时修改其margin-left和margin-top使图片能以【两手指的中间点为原点】缩放。
Talk is cheap, show you the code.
接下来是交互事件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)