Viewer.js----图片查看

Viewer.js 是一个用于展示图片、视频等多媒体内容的轻量级 JavaScript 库,提供了现代的图片查看器功能,比如放大、缩小、旋转、拖动等操作,适用于浏览器中查看图片等资源。

官网地址:Viewer.js

详细说明:Viewer.js – 强大的JS/jQuery图片查看器_dowebok

如何使用 Viewer.js

1.1 引入 Viewer.js

首先,你需要在 HTML 页面中引入 Viewer.js。你可以选择通过 CDN 或者下载本地使用。

通过 CDN 引入:
<!-- 引入 Viewer.js 样式 -->
<link rel="stylesheet" href="https://unpkg.com/viewerjs/dist/viewer.css"><!-- 引入 Viewer.js 脚本 -->
<script src="https://unpkg.com/viewerjs/dist/viewer.js"></script>
通过 NPM 安装(如果你使用 npm 管理项目):
npm install viewerjs

然后,在你的 JavaScript 文件中引入:

import Viewer from 'viewerjs';
import 'viewerjs/dist/viewer.css';
1.2 使用 Viewer.js 来显示图片

一旦引入了 Viewer.js,你就可以在 HTML 页面中使用它来展示图片了。

<div><img src="image1.jpg" alt="Image 1" class="viewer-img"><img src="image2.jpg" alt="Image 2" class="viewer-img"><img src="image3.jpg" alt="Image 3" class="viewer-img">
</div><script>const images = document.querySelectorAll('.viewer-img');const viewer = new Viewer(images, {inline: true,button: true,navbar: true,title: true,toolbar: {zoomIn: 1,zoomOut: 1,oneToOne: 1,reset: 1,prev: 1,play: 1,next: 1,rotateLeft: 1,rotateRight: 1,flipHorizontal: 1,flipVertical: 1,}});
</script>
1.3 配置项

Viewer.js 提供了许多配置项来定制其行为,例如:

  • inline: 是否允许在页面上嵌套显示。
  • button: 是否显示底部控制按钮。
  • navbar: 是否显示导航栏。
  • title: 是否显示标题。

2. 封装成一个 Vue 组件

如果你在使用 Vue.js 开发项目,可以将 Viewer.js 封装成一个 Vue 组件。

2.1 安装和引入

首先安装 Viewer.js:

npm install viewerjs

然后在你的 Vue 组件中引入 Viewer.js:

import Viewer from 'viewerjs';
import 'viewerjs/dist/viewer.css';
2.2 编写 Vue 组件

在你的 Vue 组件中,封装 Viewer.js:

<template><div><div ref="viewerContainer" class="viewer-container"><imgv-for="(img, index) in images":key="index":src="img":alt="'Image ' + (index + 1)"class="viewer-img"/></div></div>
</template><script>
import Viewer from 'viewerjs';
import 'viewerjs/dist/viewer.css';export default {name: 'ImageViewer',props: {images: {type: Array,required: true,},},mounted() {// 初始化 Viewer.jsconst viewer = new Viewer(this.$refs.viewerContainer, {inline: true,button: true,navbar: true,title: true,toolbar: {zoomIn: 1,zoomOut: 1,oneToOne: 1,reset: 1,prev: 1,play: 1,next: 1,rotateLeft: 1,rotateRight: 1,flipHorizontal: 1,flipVertical: 1,},});},
};
</script><style scoped>
.viewer-container {display: flex;gap: 10px;
}.viewer-img {max-width: 100%;cursor: pointer;
}
</style>
2.3 组件使用示例

在其他组件中使用 ImageViewer 组件:

<template><div><ImageViewer :images="imageList" /></div>
</template><script>
import ImageViewer from './components/ImageViewer.vue';export default {components: {ImageViewer,},data() {return {imageList: ['image1.jpg','image2.jpg','image3.jpg','image4.jpg',],};},
};
</script>

3. 总结

通过上述步骤,你可以轻松地将 Viewer.js 集成到你的网页或 Vue 项目中。主要的步骤包括:

  1. 引入 Viewer.js 和样式。
  2. 在 HTML 或 Vue 组件中初始化 Viewer.js。
  3. 可通过配置选项来自定义显示行为和控件。

封装成 Vue 组件后,能够灵活地传递图片列表并控制其显示行为。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/63987.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

禅道Bug的一次迁移

一、场景 平时工作记录在公司禅道上的问题想备份一份到本地&#xff0c;但是又没有公司禅道的数据库信息&#xff0c;有时候出测试报告想批量调整数据方便截图很困难&#xff0c;同时也为了学习禅道数据流转过程&#xff0c;所以有了把缺陷保存到本地一份的想法。 实际上禅道支…

[ShaderLab] 【Unity】【图像编程】理解 Unity Shader 的结构

在计算机图形学领域,开发者经常面临着管理着色器复杂性的挑战。正如大卫惠勒(David Wheeler)所说:“计算机科学中的任何问题都可以通过增加一层抽象来解决。” Unity 提供了这样一层抽象,即 ShaderLab,它通过组织和定义渲染过程的各个步骤,简化了编写着色器的过程。 什…

redis 怎么样查看list

在 Redis 中&#xff0c;可以通过以下方法查看列表的内容或属性&#xff1a; 1. 查看列表中的所有元素 使用 LRANGE 命令&#xff1a; LRANGE key start endkey 是列表的名称。start 是起始索引&#xff0c;0 表示第一个元素。end 是结束索引&#xff0c;-1 表示最后一个元素…

Redis - 消息队列 Stream

一、概述 消息队列 定义 消息队列模型&#xff1a;一种分布式系统中的消息传递方案&#xff0c;由消息队列、生产者和消费者组成消息队列&#xff1a;负责存储和管理消息的中间件&#xff0c;也称为消息代理&#xff08;Message Broker&#xff09;生产者&#xff1a;负责 产…

C语言数组和字符串笔记

C语言数组和字符串笔记 1. 数组及其相关概念 1.1 为什么需要使用数组&#xff1f; 数组是一个有序的、类型相同的数据集合。这些数据被称为数组的元素。每个数组都有一个名字&#xff0c;数组名代表数组的起始地址。数组的元素通过索引或下标访问&#xff0c;索引从0开始。 …

淘宝详情网页爬虫:技术解析与实战指南

引言 淘宝作为中国最大的电商平台之一&#xff0c;拥有海量的商品数据。对于开发者来说&#xff0c;获取淘宝商品详情接口是一个常见的需求。本文将介绍如何使用Python编写爬虫&#xff0c;获取淘宝商品详情信息&#xff0c;并探讨在实际应用中可能遇到的挑战与解决方案。 环…

双目摄像头标定方法

打开matlab 找到这个标定 将双目左右目拍的图像上传&#xff08;左右目最好不少于20张&#xff09; 等待即可 此时已经完成标定&#xff0c;左下角为反投影误差&#xff0c;右边为外参可视化 把这些误差大的删除即可。 点击导出 此时回到主页面&#xff0c;即可看到成功导出 Ca…

数据结构开始——时间复杂度和空间复杂度知识点笔记总结

好了&#xff0c;经过了漫长的时间学习c语言语法知识&#xff0c;现在我们到了数据结构的学习。 首先&#xff0c;我们得思考一下 什么是数据结构&#xff1f; 数据结构(Data Structure)是计算机存储、组织数据的方式&#xff0c;指相互之间存在一种或多种特定关系的数据元素…

什么是MMD Maximum Mean Discrepancy 最大均值差异?

9多次在迁移学习看到了&#xff0c;居然还是Bernhard Schlkopf大佬的论文&#xff0c;仔细看看。 一.什么是MMD&#xff1f; 1. MMD要做什么&#xff1f; 判断两个样本&#xff08;族&#xff09;是不是来自于同一分布 2.怎么做&#xff1f;&#xff08;直观上&#xff09;…

计算机操作系统虚拟化与云计算教学指南

一、引言 在当今数字化时代&#xff0c;计算机操作系统虚拟化和云计算已成为信息技术领域的核心技术。无论是大型企业的数据中心&#xff0c;还是个人开发者的工作环境&#xff0c;都广泛应用着这些技术。本教学博客将深入探讨虚拟化的基本概念、虚拟化技术、云计算等重要内容…

电梯内电动车识别数据集,可准确识别电梯内是否有电动车 支持YOLO,COCO,VOC三种格式的标注 7111张图片

电梯内电动车识别数据集&#xff0c;可识别电梯内是否有电动车 支持YOLO&#xff0c;COCO&#xff0c;VOC三种格式的标注 7111张图片 7111总图像数 数据集分割 训练组 74&#xff05; 5291图片 有效集 16% 1168图片 测试集 9&#xff05; 652…

Collection接口

目录 一. Collection基本介绍 二. Collection中的方法及其使用 1. 添加元素 (1) 添加单个元素 (2) 添加另一集合中的所有元素 2. 删除元素 (1) 删除单个元素 (2) 删除某个集合中包含在其他集合中的元素 (3) 保留两个集合中的交集部分, 删除其他元素. 3. 遍历元素 (1) …

Mybatis Plus 3.0 快速入门

1、简介 MyBatis-Plus (简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 2、创建并初始化数据库 2.1、创建数据库 mybatis_plus 2.2、创建 User 表 其表结构如下: idnameageemail1Jone18test1@baomidou.com2Jack…

图像清晰度计算

对于单图清晰度检测&#xff0c;可以采用基于梯度的方法来评估图像的清晰度。这些方法通过计算图像中边缘信息的强度来量化图像是否足够清晰。以下是几种常用的技术及其具体实现方式&#xff0c;特别适用于单张图片的清晰度检测。 拉普拉斯变换&#xff08;Laplacian&#xff…

Verilog实现图像处理的行缓存Line Buffer

在图像处理中&#xff0c;难免会遇到对图像进行卷积或者模板的局部处理&#xff0c;例如ISP中的一些算法&#xff0c;很大部分都需要一个窗口&#xff0c;在实时视频处理中&#xff0c;可以利用行缓存Line buffer可以暂存几行数据&#xff0c;然后同时输出每行中的对应列的像素…

【银河麒麟高级服务器操作系统】有关dd及cp测试差异的现象分析详解

了解更多银河麒麟操作系统全新产品&#xff0c;请点击访问 麒麟软件产品专区&#xff1a;https://product.kylinos.cn 开发者专区&#xff1a;https://developer.kylinos.cn 文档中心&#xff1a;https://documentkylinos.cn dd现象 使用银河麒麟高级服务器操作系统执行两次…

C++ 中面向对象编程如何处理异常?

一、引言 在 C 编程中&#xff0c;异常处理是一项重要的技术&#xff0c;它可以帮助我们更好地管理程序中的错误情况&#xff0c;提高程序的稳定性和可靠性。特别是在面向对象编程中&#xff0c;异常处理更是不可或缺的一部分。本文将介绍 C 中面向对象编程如何处理异常&#…

ORACLE逗号分隔的字符串字段,关联表查询

使用场景如下&#xff1a; oracle12 以前的写法&#xff1a; selectt.pro_ids,wm_concat(t1.name) pro_names from info t,product t1 where instr(,||t.pro_ids|| ,,,|| t1.id|| ,) > 0 group by pro_ids oracle12 以后的写法&#xff1a; selectt.pro_ids,listagg(DIS…

记录2024-leetcode-字符串DP

10. 正则表达式匹配 - 力扣&#xff08;LeetCode&#xff09;

微信开发者工具(小程序)的版本管理,Git Push 和 Pull

微信开发者工具&#xff08;小程序&#xff09;的版本管理&#xff0c;Git Push 和 Pull 一、设置 第一次用微信开发者工具自带的版本管理的拉取和推送功能&#xff0c;稍稍的研究了下。 1、首先要先设置 “用户”&#xff0c;名字和邮箱&#xff0c;不一定要真名&#xff0c…