码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Vue+el-image-viewer显示tiff图片,并能够切换图片中的帧


    一、简述

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

    二、使用工具

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

      import Tiff from 'tiff.js'
    
    • 1

    引入显示图片组件

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

    三、代码

    HTML代码

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

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

    初始化数据

    data() {
          return {
            canvasList: [],
            tiffDialogVisible: false, // 控制弹窗的显示与隐藏
          };
        },
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    处理数据函数

    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
          },
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    四、效果

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

  • 相关阅读:
    go的singleFlight学习
    FOXBORO FBM233 P0926GX控制脉冲模块
    【MineCraft】-- 学习Mod制作烧炼配方
    基于YOLO算法的单目相机2D测量(工件尺寸和物体尺寸)三
    【日常训练】207. 课程表
    一致性思维链(SELF-CONSISTENCY IMPROVES CHAIN OF THOUGHT REASONING IN LANGUAGE MODELS)
    【遥感科学】遥感科学绪论
    ESP32网络开发实例-自定义主机名称
    力扣大厂热门面试算法题 12-14
    CSS盒子模型(上)
  • 原文地址:https://blog.csdn.net/qq_45742383/article/details/134080008
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号