当前位置: 首页 > news >正文

three.js(六):自适应设备分辨率

自适应设备分辨率

  • 当今大多数的PC端和移动端显示器都是HD-DPI显示器。
  • HD-DPI 是High Definition-Dots Per Inch 的简称,意思是高分辨率显示器。
  • 不同设备的显示器的分辨率是不一样的。
    在这里插入图片描述
  • 以上图中的iPhone6/7/8 为例:
  • 375*667 代表的手机的屏幕的物理尺寸,如果我们在其中建立一个100% 充满屏幕的,那其尺寸就是375*667。
  • Dpr 代表像素密度,2 表示手机屏幕在宽度上有375*2 个像素,在高度上有667*2 个像素,因此iPhone6/7/8 的屏幕的像素尺寸就是750*1334。
  • 当我们在这种像素尺寸大于物理尺寸的高分辨率显示器里绘图的时候,就需要考虑一个问题。
  • 若我们直接在iPhone6/7/8 里建立一个充满屏幕的canvas,那其像素尺寸就是375*667。
  • 这个尺寸并没发挥高分辨率显示器的优势,我们需要先将其像素尺寸设置为750*1334,然后再将其css 尺寸设置为375*667。
  • 这样,就可以让canvas画布以高分辨率的姿态显示在显示器里。
  • 代码示例:
function resizeRendererToDisplaySize(renderer: WebGLRenderer) {const { width, height, clientWidth, clientHeight } = renderer.domElement;const [w, h] = [clientWidth * devicePixelRatio, clientHeight * devicePixelRatio];const needResize = width !== w || height !== h;if (needResize) {renderer.setSize(w, h, false);}return needResize;
}
  • 上面的devicePixelRatio 就是设备像素密度,是window下的属性,即window.devicePixelRatio。
  • 其实,有的时候若不刻意观察,canvas 有没有自适应设备分辨率是很难看出的。
  • 因此,若是对画面的渲染质量要求不高,可以什么都不做,这样也能避免canvas 画布像素尺寸变大后降低渲染效率的问题
http://www.lryc.cn/news/145247.html

相关文章:

  • Kubernetes对象深入学习之五:TypeMeta无效之谜
  • Gitlab设置中文
  • 【微服务部署】05-安全:强制HTTPS
  • Config:服务端连接Git配置
  • c++学习 之 类和对象 public , protected ,private
  • ECharts图表动态修改series显示隐藏
  • 云服务器(Centos7系统)配置JAVA+mysql+tomcat 环境
  • 【计算机视觉 | 目标检测】目标检测常用数据集及其介绍(四)
  • Dockerfile制作镜像与搭建LAMP环境
  • Linux系统中查看端口的方法
  • java mysql传入string数组返回string数组的简单写法
  • 【PHP】PHP基本语法
  • SystemVerilog interface详细介绍
  • 计网第四章(网络层)(三)
  • python学习1之安装
  • Autofac在WebApi,Winform中应用
  • uview ui 查看版号
  • Python 爬虫网页图片下载到本地
  • PyQt open3d 加载 显示点云
  • Linux搭建SSLVpn
  • Qt5升级到Qt6分步迁移教程
  • 多线程学习之线程池
  • Elasticsearch基础
  • 论文阅读:Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks
  • 基于Web的旅游推荐网站设计与实现(论文+源码)_kaic
  • 继承AndroidView Model的错误
  • 智慧互联,有序充电--多场景充电
  • yum install libreoffice‘ returned a non-zero
  • Linux知识点 -- 网络基础(一)
  • 【leetcode刷题之路】剑指Offer(4)——分治+排序算法+动态规划