eChart显示时等比例缩放

这篇具有很好参考价值的文章主要介绍了eChart显示时等比例缩放。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

eCharts会在不同分辨率的显示器中显示,要求显示内容可以等比例缩放,transform的原点是内容的中心位置,直接使用transform.scale缩放会导致有些内容溢出屏幕文章来源地址https://www.toymoban.com/news/detail-782960.html

  1. screen的左上角移动到屏幕的中心
  2. 计算出比例,以screen左上角为原点,将screen进行缩放
  3. screen向视窗的左和上移动screen自身50%的距离
  4. 监听视窗的变化,随时计算screen的位置
<template>
    <!-- 背景 -->
    <div class="container">
        <!-- 大屏的容器 -->
        <div class="screen" ref="screen">
        </div>
    </div>
</template>

<script setup lang="ts">
import { ref, onMounted } from 'vue'
// 大屏显示内容的实例
const screen = ref()
/**
 * 以视窗与大屏的宽高比的值,以值比较小的比例进行缩放,使大屏的内容在屏幕中能够全部显示
 * 默认屏幕显示分辨率为1920*1080
 * @param width 大屏内容的宽
 * @param height 大屏内容的高
 */
function init(width = 1920, height = 1080) {
    const scale = Math.min(
        window.innerWidth / width,
        window.innerHeight / height,
    )
    // 设置大屏的css属性。transform.scale(),将元素进行缩放,参数为缩放比例,
    // transform.translate()方法,参数为位移的偏移量,百分比是自身宽(高)的百分比
    screen.value.style.transform = `scale(${scale}) translate(-50%, -50%)`
    return scale
}
onMounted(() => init())

// 当视窗大小变化时,重新计算大屏的css属性
window.onresize = () => init()
</script>

<style scoped lang="scss">
.container {
    // 背景图显示为全屏
    width: 100vw;
    height: 100vh;
    background: url('./images/bg.png') no-repeat;
    background-size: cover;
    .screen {
        // 大屏的style
        width: 1920px;
        height: 1080px;
        // position定位,fixed固定定位,只看浏览器的窗口,与父元素等无关
        position: fixed;
        // 固定定位的偏移量,left与视窗的左边距,top与视窗的上边距,百分比是视窗的百分比
        left: 50%;
        top: 50%;
        background: red;
        // 变形的原点,以左上角为原点,由于固定定位的偏移量,此原点现在处于视窗的正中心
        transform-origin: left top;
    }
}
</style>

到了这里,关于eChart显示时等比例缩放的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue2、vue3分别配置echarts多图表的同步缩放

    大家好!我是yma16,本文分享在vue2和vue3中配置echarts的多图表同步缩放 背景: 解决echarts的多图表x轴同步联动的问题 echarts的datazoom api对外暴露 原理: echarts的实例存在datazoom缩放的方法, 所以只需要在datazoom事件触发其他图表的datazoom即可实现同步缩放 注意: x轴的范围要一

    2024年02月09日
    浏览(69)
  • Echarts图表设置x轴y轴均随滚轮滚动缩+放 区域缩放

    dataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息,或者概览数据整体,或者去除离群点的影响。 type: \\\'inside\\\' : 内置型数据区域缩放组件 start: 0, :数据窗口范围的起始百分比。范围是:0 ~ 100。表示 0% ~ 100%。 end: 100, 数据窗口范围的结束百分比。范围是:0 ~ 100。

    2024年02月09日
    浏览(31)
  • echarts部分图表自带鼠标滚轮滑动整体缩放效果与拖拽整体移动效果,如何取消?

    部分echarts图表在可视区域自带鼠标滚轮缩放和拖拽移动效果。这个效果在部分场景中是多余的, 怎么将其效果取消呢? roam:true(可拖动,可缩放);false(不可拖动,不可缩放) dome Tips 实现满足上诉需求的属性即 roam。 部分echarts图表类型 不存在roam属性,即该类型图表不支

    2024年02月04日
    浏览(37)
  • 在vue项目中使用echarts(echarts不显示,echarts使用详细)

    简述:我们在写大屏项目和vue项目时经常会用到echarts,用于数据统计和可视化,它是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表,下面分享下它在项目中的使用方式; 1、安装,下载相关依赖(可用镜像cnpm); 2、在项目

    2024年02月02日
    浏览(32)
  • vue+echart实现3d地图可拖拽、缩放、区域填充颜色(geo3D)

    功能背景 一个略微比2d地图炫酷一些的3d地图, 1、可对区域进行不同颜色填充。 2、可拖拽缩放地图 3、鼠标悬停高亮某区域。 (注意:当开启了鼠标悬停series,并高亮某个数据的时候,会导致地图的拖拽缩放出现卡顿,因为相当于是事件重叠了。。。目前还没想到好的解决方

    2024年02月13日
    浏览(36)
  • Echarts—X轴鼠标滑动或者缩放/多列柱状图中某一列数据为0时不占位

    用柱状图展示12个月的项目对应的供应商数据; 每个月有多个项目不确定,1-50之间,也就是说,12个月,每个月的X轴上有不确定的柱状;例如:1月有20根柱子,2月有5根柱子,3月有15根… 每月的每根柱子代表是一个项目,鼠标移入每月的每一个项目的柱子上要悬浮展示该月该

    2024年02月09日
    浏览(76)
  • uniapp 开发微信小程序使用echart的dataZoom属性缩放功能不生效!bug记录!

    在本项目中使用的是这个echart库 在项目中添加了dataZoom配置项但是不生效,突然想到微信小程序代码大小的限制,之前的echarts.js是定制的,有可能没有加dataZoom组件。故重新定制echarts.js。之前用的echarts版本是5.0.0,这次也是定制同样的版本,但是报错,按照之前的经验判断,

    2024年02月11日
    浏览(34)
  • echarts图例过多显示问题

    当项目中使用echarts时,会遇到图例过多的问题,面板大小有限,本身饼图或者折线图等已占据面板大部分空间,图例过多时会使图形和图例产生压盖的情况,非常不美观 翻阅echarts文档时,我们发现有api可以供我们使用,当图例过多时,我们可以使用图例分页使用 代码参考如

    2024年02月12日
    浏览(32)
  • echarts地图不显示图例

    如果你的 echarts 地图不显示图例,可能是以下几个原因导致的: 没有启用图例。在配置项中,可以使用 legend.show 属性来控制是否显示图例。如果将其设置为 false ,则不会显示图例。 图例被遮盖。如果图例位置与其他图形重叠,则可能会被遮盖,导致看不到图例。 图例样式

    2024年02月16日
    浏览(27)
  • 【ECharts】从零实现echarts地图完整代码(纯前端,包含地图资源)

    这里忽略创建vue项目的操作过程,请自行搭建 vue2 项目 、 less 环境 安装下载 echarts 这里我们选择npm下载 安装成功后,在 main.js 中把echarts配置到this上 这里我建立了一个地图的组件,放在 hnMap 中 获取地图渲染json文件 这里我是通过下述的网址下载需要的地图 json 文件到本地

    2024年02月03日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包