uni-app 水印插件需求

发布于 1周前 作者 sinazl 来自 Uni-App

uni-app 水印插件需求

需要找个人开发个水印小程序的。价格合理的来v:zxl011112051005

1 回复

针对您提出的uni-app水印插件需求,以下是一个基于uni-app框架的简单水印功能实现示例。该示例将展示如何在页面背景上添加水印效果。

首先,我们需要创建一个自定义组件用于生成水印。在components目录下创建一个名为Watermark的组件文件Watermark.vue

<template>
  <view class="watermark-container" :style="containerStyle">
    <view v-for="(text, index) in texts" :key="index" class="watermark-text">{{ text }}</view>
  </view>
</template>

<script>
export default {
  props: {
    texts: {
      type: Array,
      default: () => ['watermark']
    },
    angle: {
      type: Number,
      default: -30
    },
    fontSize: {
      type: Number,
      default: 36
    },
    color: {
      type: String,
      default: 'rgba(180, 180, 180, 0.3)'
    },
    gap: {
      type: Number,
      default: 100
    }
  },
  computed: {
    containerStyle() {
      return {
        position: 'fixed',
        top: 0,
        left: 0,
        width: '100%',
        height: '100%',
        pointerEvents: 'none',
        zIndex: -1000
      };
    }
  }
};
</script>

<style scoped>
.watermark-container {
  position: relative;
  overflow: hidden;
}
.watermark-text {
  position: absolute;
  transform: rotate(var(--angle, 0deg));
  font-size: var(--font-size, 36px);
  color: var(--color, rgba(180, 180, 180, 0.3));
  pointer-events: none;
  white-space: nowrap;
}
</style>

然后,在需要使用水印的页面中引入该组件,并配置水印文本、样式等属性。例如,在pages/index/index.vue中:

<template>
  <view>
    <Watermark :texts="['My Watermark', 'Protected Content']" :angle="-45" :fontSize="48" :color="'rgba(255, 0, 0, 0.2)'" />
    <!-- 页面其他内容 -->
  </view>
</template>

<script>
import Watermark from '@/components/Watermark.vue';

export default {
  components: {
    Watermark
  }
};
</script>

以上代码创建了一个简单的水印组件,并通过props传递水印文本、旋转角度、字体大小、颜色和间距等参数。在页面中引入该组件并配置相关属性后,即可在页面背景上生成水印效果。

请注意,这只是一个基础实现,实际应用中可能需要根据具体需求进行样式调整、性能优化等处理。

回到顶部