flamingo-ui
Version:
火烈鸟UI组件库
33 lines (32 loc) • 1.17 kB
JavaScript
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
};