+
59
-

微信小程序如何实现水印相机拍照的功能?

微信小程序如何实现水印相机拍照的功能?

可以显示地点、时间和日期。

网友回复

+
24
-

我们使用camera组件,上面覆盖文本和拍照按钮,文本显示当前的位置与时间,具体代码如下:

wxml

<view class="container">
  <camera device-position="back" flash="off" class="camera"></camera>
  <view class="watermark">
    <text>{{address}}</text>
    <text>{{date}} {{time}}</text>
  </view>
  <button bindtap="takePhoto">拍照</button>
  <canvas type="2d" id="watermarkCanvas" style="width:{{canvasWidth}}px;height:{{canvasHeight}}px;"></canvas>
</view>

js

Page({
    data: {
      canvasWidth: 300,
      canvasHeight: 400,
      address: '安徽 ',
      date: '2015-12-12',
      time: '11:11:21'
    },
  
    onLoad: function() {
      this.updateLocationAndTime();
    },
  
    updateLocationAndTime: function() {
      const that = this;
      wx.getLocation({
        type: 'gcj02', // 使用国测局坐标系
        success: function(res) {
          const latitude = res.latitude;
          const longitude = res.longitude;
          wx.request({
            url: 'https://apis.map.qq.com/ws/geocoder/v1/',
            data: {
              location: `${latitude},${longitude}`,
              key: '你的腾讯地图API密钥' // 请替换为您的实际API密钥
            },
            success: function(addressRes) {
              if (addressRes.data.status === 0) {
                const address = addressRes.data.result.address;
                const now = new Date();
                const date = now.toLocaleDateString();
                const time = now.toLocaleTimeString();
                that.setData({
                  address: address,
                  date: date,
                  time: time
                });
              } else {
                console.error('获取地址失败:', addressRes.data.message);
                wx.showToast({
                  title: '获取地址失败',
 ...

点击查看剩余70%

我知道答案,我要回答