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

一、简述

在前端界面显示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
      },
}

四、效果

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值