oulaoula-magnifier
v1.0.7
Published
一个普通的放大镜
Readme
magnifier
一个普通的放大镜
如上所述
引入方式
script
<script src="https://magnifier.oulaoula.cn/dist/magnifier.js"></script>module npm
npm install magnifier --save使用方式
// 新版扩散
drawMagnifier(magCtx, bgCtx, bounds);
// 系统缩放
drawSystemMagnifier(magCtx, canvasSize, canvasImg, bounds);drawMagnifier
magCtxCanvasRenderingContext2D - 放大镜所在画布bgCtxCanvasRenderingContext2D - 背景所在画布boundsIBounds - 放大区域
drawSystemMagnifier
magCtxCanvasRenderingContext2D - 放大镜所在画布sizeISize - 背景尺寸imageImage - 背景图boundsIBounds - 放大区域
IBounds - 区域
widthnumberheightnumberxnumberynumber
例子
// node
// import { drawImageByUrl, drawSystemMagnifier } from 'magnifier';
const canvas = document.querySelector("canvas");
const ctx = canvas.getContext("2d");
const bgUrl = "https://magnifier.oulaoula.cn/bg.jpeg";
const magnifier = document.createElement("canvas");
magnifier.style.position = "fixed";
magnifier.style.right = "0";
magnifier.style.bottom = "0";
magnifier.width = 190;
magnifier.height = 190;
const magCtx = magnifier.getContext("2d");
document.body.appendChild(magnifier);
let img;
drawImageByUrl(ctx, canvas, bgUrl, (res) => {
img = res;
});
canvas.onmousemove = function (e) {
const { offsetX, offsetY } = e;
window.requestAnimationFrame(function () {
const bounds = {
x: offsetX - 9,
y: offsetY - 9,
width: 19,
height: 19,
};
// 新版扩散
drawSystemMagnifier(magCtx, canvas, img, bounds);
});
};