前端图像文件批注js插件示例,支持图像缩放以及点线框
时间: 2023-08-11 15:52:53 浏览: 212
Java编写的批量图片缩放工具
5星 · 资源好评率100%
如果您需要一个支持图像缩放以及点线框等批注的 JS 插件,我可以为您推荐一款功能强大的插件:OpenSeadragon。它是一个高性能的图像查看器,支持各种类型的图像文件,并且可以在图像上添加注释、标记和矩形框等。以下是使用 OpenSeadragon 的示例代码:
```
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>OpenSeadragon Demo</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/openseadragon/2.4.2/openseadragon.min.css">
</head>
<body>
<h1>OpenSeadragon Demo</h1>
<div id="openseadragon"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/openseadragon/2.4.2/openseadragon.min.js"></script>
<script>
var viewer = OpenSeadragon({
id: "openseadragon",
prefixUrl: "https://openseadragon.github.io/openseadragon/images/",
tileSources: "example.dzi",
showNavigationControl: true,
zoomInButton: "zoom-in",
zoomOutButton: "zoom-out",
homeButton: "home",
fullPageButton: true
});
viewer.addHandler("open", function() {
var overlay = viewer.svgOverlay();
overlay.node().setAttribute("class", "annotation-overlay");
var rect = overlay.node().appendChild(document.createElementNS(overlay.svgns, "rect"));
rect.setAttribute("x", viewer.viewport.imageToViewerX(100));
rect.setAttribute("y", viewer.viewport.imageToViewerY(100));
rect.setAttribute("width", viewer.viewport.imageToViewerX(200) - viewer.viewport.imageToViewerX(100));
rect.setAttribute("height", viewer.viewport.imageToViewerY(200) - viewer.viewport.imageToViewerY(100));
rect.setAttribute("fill-opacity", 0);
rect.setAttribute("stroke", "#ff0000");
rect.setAttribute("stroke-width", 2);
rect.setAttribute("stroke-opacity", 1);
});
</script>
</body>
</html>
```
在这个示例中,您需要将 OpenSeadragon 的 CSS 和 JS 引入到您的 HTML 文件中。然后,您需要在 HTML 文件中放置一个 `div` 元素,并给它一个 ID,以便在 JS 中引用它。接下来,您需要使用 `OpenSeadragon()` 函数创建一个查看器,并将其附加到 `div` 元素上。在 `tileSources` 参数中,您需要指定您要查看的图像文件,它可以是 Deep Zoom Image (DZI)、Google Maps Tile (TMS)、Zoomify Image (ZIF) 等格式。最后,在 `open` 事件处理函数中,您可以使用 `svgOverlay()` 函数创建一个 SVG 叠加层,并在其中添加矩形框等注释。
当您使用 OpenSeadragon 查看图像时,您可以使用鼠标滚轮缩放图像,使用鼠标左键拖动图像,使用鼠标右键或 Ctrl + 鼠标左键添加注释、标记和矩形框等。您可以在插件的官方网站上找到更多有关 OpenSeadragon 的信息和文档:https://openseadragon.github.io/。
阅读全文