Vue+el-image-viewer显示tiff图片,并能够切换图片中的帧

news2024/11/15 18:30:29

一、简述

在前端界面显示tiff图片,并能够点击翻页按钮切换tiff图片中的帧,接收到后端传来的buffer,在前端处理后进行展示

二、使用工具

引入Tiff.js文件,引入前先进行下载安装

  import Tiff from 'tiff.js'

引入显示图片组件

components: {
  'el-image-viewer': () => import('element-ui/packages/image/src/image-viewer')
},

三、代码

HTML代码

    <el-image-viewer v-if="tiffDialogVisible" :zIndex="Number(99999)" :url-list="canvasList"
                     :on-close="closeImgViewer"/>

tiffDialogVisible控制图片的显示,closeImgViewer是关闭显示的按钮函数,canvasList是需要显示的图片列表

初始化数据

data() {
      return {
        canvasList: [],
        tiffDialogVisible: false, // 控制弹窗的显示与隐藏
      };
    },

处理数据函数

methods:{
	loadImage(file) {
        this.canvasList = [];
        //每次加载的时候将图片列表先清空
        this.fileForm = file;
        getImg(this.fileForm).then((response) => {
        //根据获取方法的不同修改代码
          this.tiffDialogVisible = true
          var tiff = new Tiff({buffer: response})
         //使用获取到的数据创建一个tiff
          for (let i = 0, len = tiff.countDirectory(); i < len; ++i) {
            tiff.setDirectory(i)
            var imgs = tiff.toDataURL() // 转化成base64
            if (imgs) {
              this.canvasList.push(imgs)
            }
          }
        })
        //使将tiff中的帧图片拆解,放入列表中
          .catch((error) => {
            console.error("获取图片时出错:", error);
          });
      },
    closeImgViewer() {
        this.tiffDialogVisible = false
      },
}

四、效果

在这里插入图片描述
效果如图所示,可以翻页查看图片中的所有帧,也可以进行放大缩小旋转等操作。

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

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

相关文章

Openssl数据安全传输平台014:OCCI的安装配置和使用:Centos8-Oracle19c代码跑通 + Window-Oracle11g代码没跑通(不影响本项目)

文章目录 0 代码仓库1 启动Centos oracle数据库2 Winsows安装配置OCCI库2.1 下载文件2.2 VS 配置2.2.1 VC包含目录2.2.2 VC库目录2.2.3 连接器-附加依赖项2.2.4 代码测试-Oracle11g2.2.4.1 准备2.2.4.2 代码测试 3 Centos安装配置occi库3.1 下载instantclient库文件压缩包3.2 w…

LeetCode:1465. 切割后面积最大的蛋糕(C++)

目录 1465. 切割后面积最大的蛋糕 题目描述&#xff1a; 实现代码与解析&#xff1a; 贪心 原理思路&#xff1a; 1465. 切割后面积最大的蛋糕 题目描述&#xff1a; 矩形蛋糕的高度为 h 且宽度为 w&#xff0c;给你两个整数数组 horizontalCuts 和 verticalCuts&#xff…

HPV感染的风险:闫会宁主任分析酒店环境中的常见因素

人类乳头瘤病毒(HPV)是一种普遍存在的病毒&#xff0c;其存在和传播方式多种多样。近年来&#xff0c;人们对于HPV的认识不断深入&#xff0c;知道其在酒店环境中的传播风险。本文将探讨哪些情况下在酒店可能感染HPV。 一、HPV的传播方式 HPV主要通过直接接触传播&#xff0c…

编程实例:眼镜店顾客档案管理系统软件,可以登记顾客信息查询历史记录,视力检查登记查询,配镜销售单开单打印

编程实例&#xff1a;眼镜店顾客档案管理系统软件&#xff0c;可以登记顾客信息查询历史记录&#xff0c;视力检查登记查询&#xff0c;配镜销售单开单打印 编程系统化课程总目录及明细&#xff0c;点击进入了解详情。 https://blog.csdn.net/qq_29129627/article/details/1340…

centos 安装ifconfig等

通过ip addr查看IP ip addr 安装ifconfig yum search ifconfig yum -y install net-tools.x86_64 设置静态IP cd /etc/sysconfig/network-scripts/ cat ifcfg-ens33 vi ifcfg-ens33 文本demo&#xff1a; TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOstatic DEFRO…

【shell】pis_monitor.sh

#!/bin/bashread -p "请输入要查询的PID:" pidecho "--------------------------------"echo "进程PID:$pid"p_arr("进程命令 11" "进程所属用户 1" "CPU占用率 2" "CPU内存占用率 4" "进程开始运…

yolov8-pose的数据集标注

labelme标注工具 1.环境配置 conda create -n labelme sudo apt-get install python3-pyqt5 # PyQt5 sudo pip3 install labelme2.激活虚拟环境,并启动labelme conda activate labelme labelme参考链接:图片标注工具Labelme的安装及使用方法 3.数据集标注 在标注时,我…

终于找到一个很赞的相亲社交软件了,而且还是公众号java+vue

目前&#xff0c;相亲已经成为了时下的热门话题&#xff0c;越来越多的单身男女找不到心仪的另一半&#xff0c;忙碌的工作&#xff0c;空余时间很少。其次离开校园之后&#xff0c;圈子变小&#xff0c;也没有渠道认识到新的朋友&#xff0c;种种情况影响下&#xff0c;单身的…

PHP-FIG底层原理以及所有规范

PHP-FIG是PHP Framework Interoperability Group的简称&#xff0c;是一个致力于制定PHP规范和标准化的组织。它的目标是提高不同PHP框架之间的互操作性和兼容性&#xff0c;促进PHP开发社区的合作和共享。 PSR标准规范了一些常用的编码规范、类自动加载规范、接口规范等。这些…

大数据-Storm流式框架(六)---Kafka介绍

Kafka简介 Kafka是一个分布式的消息队列系统(Message Queue)。 官网&#xff1a;Apache Kafka 消息和批次 kafka的数据单元称为消息。消息可以看成是数据库表的一行或一条记录。 消息由字节数组组成&#xff0c;kafka中消息没有特别的格式或含义。 消息有可选的键&#x…

龙芯3A5000上安装微信

原文链接&#xff1a;龙芯3A5000上安装微信 hello&#xff0c;大家好啊&#xff0c;今天给大家带来一篇在龙芯3A5000上安装微信的文章&#xff0c;主要给大家展示一下在龙芯架构上使用微信的情况&#xff0c;看看内置浏览器、看一看、小程序等是否能正常打开使用。 1、查看系统…

将项目部署到Windows操作系统中,并且访问该项目

&#x1f3c5;我是默&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;在这里&#xff0c;我要推荐给大家我的专栏《Linux》。&#x1f3af;&#x1f3af; &#x1f680;无论你是编程小白&#xff0c;还是有一定基础的程序员&#xff0c;这个专…

react实现步进器

创建一个步进器组件&#xff0c;包含当前步骤&#xff08;currentStep&#xff09;的状态以及前进和后退的操作&#xff1a; import React, { useState } from react;function Stepper() {const [currentStep, setCurrentStep] useState(1);const handleNext () > {setCu…

大厂面试题-Java并发编程基础篇(五)

目录 一、为什么ConcurrentHashMap中key不允许为null 考察目标 问题解析 回答 二、ThreadLocal会出现内存泄漏吗&#xff1f; 考察目的 问题解析 回答 三、什么是CompletableFuture&#xff1f; 问题分析 问题解答 四、什么条件下会产出死锁&#xff0c;如何避免死…

万字解析设计模式之单例模式

一、概述 1.1简介 单例模式&#xff08;Singleton Pattern&#xff09;是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类&#xff0c;该类负责创建自己的对象&#xff0c;同时确保…

MyBatis-Plus 实战教程二 核心功能

这里写目录标题 核心功能条件构造器QueryWrapperUpdateWrapperLambdaQueryWrapper 自定义SQL基本用法多表关联 Service接口CRUD基本用法Lambda批量新增 仓库地址 核心功能 条件构造器 除了新增以外&#xff0c;修改、删除、查询的SQL语句都需要指定where条件。因此BaseMapper…

6 个最佳 Windows 免费磁盘分区管理器

几乎所有新的笔记本电脑和 PC 都只有一个分区 C:\&#xff0c;与安装了 Windows 的分区相同。不太精通技术的用户开始按照计算机呈现给他们的方式使用计算机&#xff1b;他们将所有文档、个人文件&#xff08;例如图片、歌曲、电影等&#xff09;放在同一个分区上。整个驱动器上…

vite中将css,js文件归类至文件夹

build: {chunkSizeWarningLimit: 1500,rollupOptions: {output: {// 最小化拆分包manualChunks(id) {if (id.includes(node_modules)) {return id.toString().split(node_modules/)[1].split(/)[0].toString()}},// 用于从入口点创建的块的打包输出格式[name]表示文件名,[hash]…

github搜索技巧探索

毕设涉及到推荐系统&#xff0c;那么就用搜索推荐系统相关资料来探索一下GitHub的搜搜技巧 文章目录 1. 基础搜索2. 限定在特定仓库搜索3. 按照语言搜索4. 按照star数量搜索5. 搜索特定用户/组织的仓库6. 查找特定文件或路径7. 按时间搜索8. 搜索不包含某个词的仓库9. 搜索特定…

python:多波段遥感影像分离成单波段影像

作者:CSDN @ _养乐多_ 在遥感图像处理中,我们经常需要将多波段遥感影像拆分成多个单波段图像,以便进行各种分析和后续处理。本篇博客将介绍一个用Python编写的程序,该程序可以读取多波段遥感影像,将其拆分为单波段图像,并保存为单独的文件。本程序使用GDAL库来处理遥感影…