UNPKG

flamingo-ui

Version:

火烈鸟UI组件库

33 lines (32 loc) 1.17 kB
import { getPixelRatio } from "../utils/index"; const vwaterMarker = { mounted(el, binding) { binding.value ? binding.value : binding.value = {}; addWaterMarker(binding.value.text, el, binding.value.font, binding.value.textColor, binding.value.opacity); } }; function addWaterMarker(str, parentNode, font, textColor, opacity) { var warkWidth = 90; var warkHeight = 45; var can = document.createElement("canvas"); var cans = can.getContext("2d"); var ratio = getPixelRatio(cans); parentNode.appendChild(can); can.width = warkWidth * ratio; can.height = warkHeight * ratio; can.style.display = "none"; cans.scale(ratio, ratio); cans.rotate(-20 * Math.PI / 180); cans.font = font || "normal 12px"; cans.fillStyle = textColor || "rgba(223, 223, 223, 1)"; cans.textAlign = "left"; cans.textBaseline = "middle"; cans.fillText(str || "", 0, can.height / 1.25 / ratio); cans.globalAlpha = opacity || 0.6; parentNode.style.backgroundImage = "url(" + can.toDataURL("image/png") + ")"; parentNode.style.backgroundSize = `${warkWidth}px ${warkHeight}px`; } var stdin_default = vwaterMarker; export { stdin_default as default };