聊聊前端像素相关问题

Camera调试避坑指南:为什么你换了Sensor问题还在?聊聊ISP前端那些‘看不见’的坑 本文深入探讨Camera调试中ISP前端模块的隐蔽问题,特别是MIPI数据转换和对齐电路等易被忽略的环节。通过实际案例和详细排查步骤,揭示如何识别和解决图像异常问题,如竖线现象,帮助工程师避免常见陷阱,提升调试效率。 阅读详情

前言:关于浏览器的物理像素,设备独立像素,物理像素比一直很模糊,在学习前端期间也查找了不少资料,但是每次看完后时间稍长一点就忘记了,所以到现在对这个东西一直是一知半解的,特此写一遍笔记来总结相关概念。

1、物理尺寸

  • 显示器的实际尺寸,与现实中的尺寸一样

2、物理像素

  • 一个物理像素是显示器屏幕上最小的物理显示单元;显示器物理尺寸跟显示器物理物理像素没有关系,同样物理尺寸的显示器,retina屏的物理像素一般大些。这里的大是指同样实际尺寸屏幕,retina屏的物理像素点要多。

3、设备独立像素

  • 设备独立像素也叫设备密度无关像素,可以认为是计算机坐标系统中得一个点,这个点代表一个可以由程序使用的虚拟像素(比如: css像素),然后由相关系统转换为物理像素。

4、设备像素比(dpr)

  • 即物理像素与设备独立像素之间的关系
  • //公式
    //设备像素比 = 物理像素 / 设备独立像素
    //浏览器获取设备像素比
    window.devicePixelRatio

     

5、原理

  • 如下图,当我们在网页上设置一个元素的css像素(width:2px;height:2px)时,在dpr=1的显示器上时,最终会占用一个四个物理像素点,当在dpr=2时的显示器上时,会占用16个物理像素点。由此得出结论,在不同屏幕下css像素的物理尺寸是一致的,不同的是一个css像素对应的物理像素点个数不一样。

6、关于浏览器图片模糊(位图)矢量图不存在这个问题(如svg)

  • 假设现在有一张100*100px的png图片,当图片显示在dpr=1的显示器上时,会占据100*100=10000个物理像素点,这是图像是清晰显示。如果我们将这个100*100px的图片放到dpr=2的屏幕上,此时图片的10000个css像素点会占据(100*2)*(100*2)=40000个物理像素点,一个位图像素对应四个物理像素,因为单位CSS像素不能再进行分割,所有只能就近取色,所以导致图片模糊。

7、图片模糊解决方案

  • 加载高倍图,容器尺寸减小一般,比如,200*400的图片,设置img(width:100px;height:200px;)。
  • 针对不同dpr的显示器加载不同尺寸的图片。
月入25k大佬总结的web前端必须学习的这些内容(附全套前端教程) 优秀的WEB前端工程师具备编写任何一个互联网系统的前端页面、交互代码的能力。根据对100家互联网名企对Web开发工程师的招聘要求分析,企业要求主要有两部分,一个是核心要求,一个是辅助要求,核心要求包括:语言技术:JS基础和核心/HTML5/CSS3、框架技术:JQuery、AJAX、Bootstrap、AngularJS、通讯协议技术:HTTP协议、服务端开发技术、交互技术:UI交互设计、客户... 阅读详情

相关推荐

前端开发-像素尺-取色器

一个像素尺子和一个取色器应用,非常好用。

【H5移动端】前端H5移动端的单位适配方案集,包括给你用例子讲明白什么是1像素的问题(不定期补充~)

首先要知道。

庞囧的博客 5613

使用pdfBox实现pdf转图片出现中文方块乱码 简单修改源码解决

参考文章 问题排查:使用pdfbox将pdf转image时STSong-Light字体中文乱码 pdfbox版本是2.0 日志中打印出类似这样的日志(例:Using fallback XXX for CID-keyed font STSong-Light),就说明系统没有安装STSong-Light字体,pdfbox使用XXX字体来替代了。如果出现方块,就说明没有这种字体,并且替代字体也没有,日志也有相应的其他提示。 正常操作就是安装缺失的 STSong-Light 字体,但是在网上搜到的都是 STSong

aji_csdn的博客 5266

在移动端实现一像素边框

由于分辨率 DPI 的差异,高清手机屏上的 1px 实际上是由 2×2 个像素点来渲染,有的屏幕甚至用到了 3×3 个像素点 所以 border: 1px 在移动端会渲染为 2px 的边框 虽然用户在实际使用的时候,很难发现这 1px 的差异,但是设计师往往会在这 1px 上较劲,这就产生了经典的 “一像素问题” 最简单的解决办法,就是用图片做边框,只是修改颜色不太方便。除此之外,还有...

weixin_33862041的博客 288

使用CLion在Window端进行linux开发

        以往不管是开发x86端linux程序还是arm端linux程序,都是使用Source Insight作为源码编辑工具的,如下图      去年底,发现CLion的2018.3更新版本,可以支持remote host开发了,大爱!     我是基于以下几点原因,将开发工具换成CLion 1. 语法高亮较明显、跳转、重构方便(我很看重这个); 2. 可以使用图形界面进行调...

alist的笔记专栏 1万+

最新版电子发票样式html+css--普通发票+增值发票

【代码】最新版电子发票样式html+css--普通发票+增值发票。

weixin_44110923的博客 3678

前端页面适应不同屏幕分辨率常用做法

前端开发的工程中一般都要考虑到不同的电脑分辨率的问题,由于这段时间我也遇到了这个问题,今天进行一下相关的总结。 一、不同的页面调用不同的CSS文件 这个方法给人的第一感觉可能比较繁琐冗杂,其实实际工作量并没有看起来的那么大。 页面的整体样式肯定基本上是相同的,不同的浏览器我们要做的只是对页面中的元素的位置、大小等进行细微的调整; 整个的页面样式设计已经完成了,其他的直接复制整体样式进...

best_piper的博客 1万+

QtQuick QML教程(2):qml语法介绍

​ qml一个普通的文本文件,后缀是.qml, 一个qml文件主要由两部分组成:(1) import语句 :这个就像C++中的头文件, 使用 import 导入qml需要的相关模块,可以查询Qt文档进行导入,注意每个版本的Qt模块声明可能都不同,相比于QWidget项目,QtQuick的变动是很大的;(2) QML对象树 :根对象是Window, 然后可以在Window中添加各种控件,例如按钮,文本,菜单等。

琅嬛福地 551

网页截图像素与实际像素不一致问题

网页缩放或者放大问题 解决方式:按住Ctrl键并滑动鼠标滚轮将缩放比调制100%,看是否解决。 系统的显示里面是否将文本调大或调小了 如图: 如果是这里的原因,你可以不将这里调回100%,你可以到浏览器的设置中将缩放比调为75%,那么截图的时候就不会出现截图像素与实际像素不符的情况了。 ...

_热雪的博客 9566

在zcu102开发板上使用PetaLinux运行Qt程序

请注意,上述步骤只是一个概述,并且可能需要根据特定的开发环境和要求进行适当的调整。如果你是一个初学者或者对于这些领域不太熟悉,建议在尝试之前阅读相关的文档和教程,或者寻求专业人士的帮助。在"Projects"菜单中,选择"Build & Run"选项,并在"Build"步骤中选择正确的工具链。注意:如果Qt程序依赖于其他库文件,需要将这些库文件一起复制到PetaLinux工程的根文件系统目录中,并在Qt程序中正确地配置库文件路径。如果一切顺利,PetaLinux系统将启动,并自动运行Qt程序。

UhxzCombined的博客 698

从 Junior 到 Lead:ABAP 开发者进阶路线图与真实项目练级法

本文拆解了ABAP工程师从初级到高级的成长路径,强调能力提升依赖于可复用经验的积累。对于初级开发者,建议夯实ABAP Dictionary、内表处理和数据库思维三大基础,培养数据流与规则层的结构化思维,并逐步掌握面向对象编程。中级阶段应注重代码可维护性,通过单元测试和Clean ABAP规范提升工程质量。文章指出,ABAP开发者需要学会筛选学习重点,建立知识地图,并重视团队协作中的代码可读性。关键在于将碎片知识整合为可迁移的模型,而非盲目追求新技术。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 173

前端橘子君:前端1px问题及解决方案

在项目开发过程中,设计师经常会说,这里边框像素边框不对,要求1像素但是实际是2像素,当我们去查代码时我们写的就是1px,这是前端开发者经常遇到的一个问题,也就是1px像素问题。 要了解并解决问题,我们首先需要了解其原理才能从根本上找到解决方案。 首先我们需要对物理像素,逻辑像素和设备像素比有一个概念。 物理像素(DP) 物理像素又称设备像素,是组成显示屏的基本单位,每一台设备的物理像素在出厂时就已经固定好了,不会改变,我们平时看到的图片是通过每个像素不同颜色组合而成的。 设计师一般要求的像素就是物理像素。

weixin_52362480的博客 1735

uniapp:解决微信小程序包体积超过2M的优化方案+详解分包问题,编译小程序体积大于2M不能上传和预览提示体积太大的处理教程,uniApp微信小程序主包过大问题如何解决(排查可疑点+分包+最小改动)

uniapp微信小程序开发,如何解决打包太大无法预览发布的问题,uniApp微信小程序包体积超过2M的优化方法,uni-app打包微信小程序主包超2M终极解决方案,使用uniapp开发微信小程序使用uni_modules导致主包文件过大,无法发布的解决方法,UniApp开发的微信小程序主包过大问题及解决方案 编译小程序时Node-modules被打入主包,小程序体积大于2M不能上传和预览,怎么处理,解决微信小程序主包太大问题,微信小程序中主包和分包过大,详解分包问题,uni-app 微信小程序发布时,主包超

✅ 精选推荐文章 5066

【阿里前端面试题】聊聊前端性能优化的方案,解决过什么样的性能问题?

结合工作经验一起聊聊前端的性能优化的方案

一起寻找DX3906-探索未知 1356

多图详解VSCode搭建Python开发环境

本文通过多图的方式详细介绍了VSCode搭建Python开发环境,希望能对学习Python的同学们有所帮助。 文章目录 1. VSCode的介绍和安装 2. 安装插件 2.1 安装中文插件 2.2 安装Python插件 2.3 安装远程插件 3. 远程连接服务器 3.1 配置ssh 3.2 运行代码 3.3 调试代码

weixin_43178406的博客 8万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

封装html ui 控件,聊聊前端 UI 组件:组件设计

本文首发于欧雷流。由于我会时不时对文章进行补充、修正和润色,为了保证所看到的是最新版本,请阅读原文。在本系列文章《聊聊前端 UI 组件:组件体系》中初步说明了 UI 组件的架构设计,本文将在此基础上进一步展开说说那篇文章中一笔带过的部分,并阐述在设计一个 UI 组件时应该注意的点有哪些。目录结构在《聊聊前端 UI 组件:组件体系》中列出的目录结构的基础上做了些许调整——component├── d...

weixin_35626308的博客 992

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

负责淘宝业务前端开发9年,聊聊我的心得

本文作者永霸负责了淘宝PC改版,他坚信历史的发展是螺旋式上升的,那些只要认为是对的事情,未来一定会发生/被证实的。文章指路:淘宝PC改版!我们跟一位背后付出6年的男人聊了聊……缘起本人自 14 年校招加入淘宝 UED(淘系前端前身)后,一直从事淘宝的业务前端开发工作,至今已有 9 年。一直想对自己已经度过的四分之一职业生涯(如果我能干 30 年的话)做个简单总结,无奈『拖延症』严重,直到年前被邀约...

淘系技术 1745

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Vue3集成UE5像素流:实现云端实时3D渲染与交互

实时音视频通信与云端渲染是当前Web应用实现高保真3D体验的关键技术。其核心原理基于WebRTC协议,通过建立点对点连接,实现低延迟的音视频流传输与双向数据交换。这项技术的核心价值在于,它能将复杂的图形计算任务从终端设备卸载到云端服务器,从而打破本地硬件的性能瓶颈,使得在普通浏览器中流畅运行对算力要求极高的三维应用成为可能。在工程实践中,这通常应用于数字孪生、在线设计评审、虚拟仿真培训等需要高画质实时交互的场景。本文以Vue3前端框架与Unreal Engine 5.3的像素流(Pixel Streamin

weixin_34167819的博客 396

前端数据埋点 SDK

相信不少人因为项目中没有接触过数据埋点相关的内容,而没有花时间去了解它,总觉得这又是一个自己还不能涉及的方面,然而数据埋点本身并不难理解,只是很难做得好,本文会从 认识数据埋点 SDK、设计前端数据埋点 SDK 两个核心方面来展开,聊聊前端数据埋点的那些事。早些年在苏宁工作,有次需求就是分析页面埋点的热力图。。。供领导层分析此页面设计的合理以及用户的点击习惯等等这里只我们考虑数据埋点的核心内容,因此不会涉及得肯定没有那么全面,而一开始也不可能设计得全面,只要保证核心功能,那么在基于核心进行扩展即可。 数

weixin_46600931的博客 1759

聊聊React Native屏幕适配那些事儿

点击上方前端瓶子君,关注公众号回复算法,加入前端编程面试算法每日一题群作者:张子君原文:https://segmentfault.com/a/1190000039805723写在前面在我...

我本可以容忍阳光,如果我不曾见过太阳,然而阳光已使我荒凉,成为更新的荒凉。 3216

零基础的同学看过来,如何系统学习前端,只要你掌握了,学习web前端的思路就打开了,为以后成为高级前端工程师做一个铺垫

软件开发工程师在行业外大众的眼里, 或许是一个出众的职业,收入不低, 技术含量还挺高,就连我自己刚入行时也是这么认为的,但事实上并不确切。任何行业中,只要是在金字塔顶端的那部分,都是令人羡慕的,然而,那是需要心血、实力的。 但如果仅仅只是想入行,就没那么苛刻了, 尤其是软件开发行业,更容易。 做一件事情轻松还是坚难, 使用什么样的方法不可忽视,我以一个过来人的身份分析能如何正确快速的踏入软件开发这...

qq_43623970的博客 938

什么是前端?

今天来聊一聊一个老生常谈的问题:什么是前端? 对于正在学习前端编程的我们来说这无异于是来自灵魂的拷问,因为我们必须弄清楚正在学习前端编程的我们现在正在学的具体是什么 我们先来看一看百度上的回答:https://baike.baidu.com/item/%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91/10009024?fr=aladdin 前端开发是创建Web页面或app...

weixin_44510170的博客 798

你只会用前端数据埋点 SDK 吗?

你只会用前端数据埋点 SDK 吗?

weixin_43822185的博客 1356

前端工程师是怎样一种职业?想要学习web前端的小白看过来

前端工程师已经是大家不再陌生的一个软件行业的工种了,尽管这一工种诞生也没多少年。作为一名从业四年的前端工程师,我尝试结合业界标准与我的理解,来尽可能诠释一下前端工程师这个职业。 这篇文章的适读人群:非web方向的软件开发者、产品经理以及与产品挂钩的相关人士、正在纠结需不需要招聘一个前端的老板们、刚刚走上工作岗位的前端新手们、以及计划学习前端的从业人员。 前端工程师的英文名为front-end e...

python_asd的博客 709

2022-itwangyang-前端数据埋点 SDK

现在我们了解了前端数据埋点 SDK的二三事,通过上面的例子可能让你觉得看起来比较简单,但是真的要做好数据埋点也必然没有那么容易,比如好需要考虑你的SDK数据发送的时间、发送的次数、需不需要将某些数据信息整合在一起只发送一次、怎么避免网络拥塞等等问题。

itwangyang520的博客 1883
上一篇: 二叉树算法实现数组排序
下一篇: babel学习记录
feral_coder
博客等级 码龄9年 19粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值