收藏
回答

wx.previewImage点开后预览图片上,能不能在这一层叠加文字或图片或者水印?

wx.previewImage点开后预览图片上,能不能在这一层叠加文字或图片或者水印?

回答关注问题邀请回答
收藏

4 个回答

  • showms
    showms
    2023-12-19

    官方的api不支持,只能自己写一个了

    2023-12-19
    有用
    回复
  • Jianbo
    Jianbo
    2023-12-18

    不支持。

    2023-12-18
    有用
    回复
  • H1HAO 🇨🇳
    H1HAO 🇨🇳
    2023-12-18

    这个功能只能自己做一个图片预览了,可以写一个去除顶部栏的单独预览页面,从上个页面把图片数组通过缓存进入当前页,然后写轮播实现左滑右滑,退出当前页后删除缓存,不建议通过地址拼接参数


    示例(我用的是uni,你大概看下即可):


    <view class="widths-max heights-max bg-black">
    			<view class="maxWh">
    				<view class="" :style="{height:`${topMenuHeight}px`}">
    					自定义顶部栏(用于展示当前第几站   例如  1/3 ),topMenuHeight通过getMenuButtonBoundingClientRect计算得出
    				</view>
    				 <!-- flex: 1自动撑满剩余高度 -->
    				<view class="" style="display: flex;flex: 1;">
    					<swiper class="maxWh" :current="current" @animationfinish="(e)=>{ current = e.detail.current }">
    						<swiper-item v-for="(item,index) in imgList" :key="index">
    							<view class="maxWh flex-center re">
    								<image :src="item.pic" style="width: 100%;" mode="widthFix"></image>
    <view>{{item.text||'-}}</view>
    							</view>
    						</swiper-item>
    					</swiper>
    				</view>
    			</view>
    		</view></image>
    							</view>
    						</swiper-item>
    					</swiper>
    				</view>
    			</view>
    		</view>
    
    
    2023-12-18
    有用
    回复 3
    • H1HAO 🇨🇳
      H1HAO 🇨🇳
      2023-12-18
      如果方便的话,使用组件化进行顶部弹窗预览会更好,这也就不会触发页面隐藏和显示,而且跳转页面会有延迟就没有那么丝滑了,组件就很丝滑,唯独就是页面没有自定义顶部栏看起来会有点怪异
      2023-12-18
      回复
    • James国俊
      James国俊
      发表于移动端
      2023-12-18
      谢谢! 那这样能实现放大缩小和长按下载这样的操作吗?是不是还要自己写这些方法
      2023-12-18
      回复
    • H1HAO 🇨🇳
      H1HAO 🇨🇳
      2023-12-18回复James国俊
      放大缩小也可以在这个模板的情况下进行扩充,下载就更加简单了,加个按钮悬浮,或者你直接在图片上加长按属性,自带下载按钮,放大缩小可以使用触摸实现,不过比较麻烦还复杂,建议使用movable-view方便
      2023-12-18
      回复
  • 微盟
    微盟
    2023-12-18

    在微信小程序中,`wx.previewImage`接口用于预览图片,它不支持在预览的图片上叠加文字、图片或水印。

    如果你需要在预览的图片上添加文字、图片或水印,你可能需要自行实现一个图片预览组件,包括加载图片、渲染自定义组件以及处理触摸事件等。

    以下是一个简单的示例,展示了如何在预览的图片上添加文字:

    ```html

    <image src="{{imgSrc}}" bindtap="previewImage" style="width: 100%; height: 100%;" />

    <text style="position: absolute; top: 10px; left: 10px;">这是添加的文字</text>

    ```

    ```js

    Page({

      data: {

        imgSrc: '你的图片链接'

      },

      previewImage: function(e) {

        var current = e.target.dataset.src;

        wx.previewImage({

          current: current, // 当前显示图片的http链接

          urls: [current]

        });

      }

    })

    ```

    在这个示例中,我们使用`image`组件来显示图片,并使用`text`组件在图片上添加了文字。当用户点击图片时,会触发`previewImage`函数,调用`wx.previewImage`接口预览图片。

    2023-12-18
    有用
    回复 1
    • James国俊
      James国俊
      发表于移动端
      2023-12-18
      你这个是 AI 生成的回答吧
      2023-12-18
      回复
登录 后发表内容