标签: screen

如何计算CSS像素大小?

在深入研究CSS单元时,我遇到了参考像素的定义.但是,我无法找到与CSS像素单元关系的一致而全面的描述.我已就这件事做了一些研究,但对我来说还是有点不清楚.

1.收集信息


1.1像素定义

像素有两种不同的类型/定义:

"设备像素" - 显示器上的单个物理点.

和:

CSS像素 - 与参考像素最匹配的单位.[ 1 ]

同名的两个平行概念肯定不能澄清混淆.我完全理解引入第二个目的的目的,但我发现它的命名法误导了.CSS像素被归类为绝对单位,并且:

"绝对长度单位相对于彼此固定." [ 1 ]

除了像素之外,上述声明似乎对于每个单位都非常明显.遵循w3c规范:

"对于CSS设备,这些尺寸要么锚定(i)通过将物理单元与其物理测量相关联,或者(ii)通过将像素单元与参考像素相关联来锚定.

(...)请注意,如果锚单位是像素单位,则物理单位可能与其物理测量值不匹配.或者,如果锚单元是物理单元,则像素单元可能不会映射到整数个设备像素."[ 1 ]

考虑到上述引用,我假设绝对单位不是绝对的,因为它们可以锚定到参考像素.


1.2参考像素

参考像素本身实际上是角度测量[ 2 ]:

"参考像素是设备上一个像素的视角,像素密度为96dpi,距离读取器的臂长度.对于标称臂长28英寸,视角约为0.0213度." [ 1 ]

图片如下图所示:

在此输入图像描述

尽管将参考像素定义为视角,我们可以进一步阅读:

"对于手臂长度的读数,1px因此对应于约0.26毫米(1/96英寸)."

抛开不一致之处,我们可以建立角度值:

? = 2 * arctan(0.026/142) = 0.02098°

where:
    ? — a value of the visual angle
Run Code Online (Sandbox Code Playgroud)

因此,显示单位的大小等于:

y = 2x * tan(0.01049°)

where:
    y — a displayed unit size
    x — a reading distance
Run Code Online (Sandbox Code Playgroud)

鉴于上述公式,为了计算单位大小,我们需要确定实际阅读距离是多少.由于用户可能会有所不同,因此其分类基于设备的DPI.

1.2.1 DPI

为方便起见,让我们假设DPI == PPI. …

css frontend screen pixel css3

56
推荐指数
1
解决办法
1万
查看次数

检测屏幕何时锁定

原谅我,这让我疯了,我会尝试通过我的愤怒发布一些易读的东西.

我在这里看到了几个关于如何检查屏幕是否被锁定的帖子,但没有一个对我有效.它都会检测实际屏幕是否关闭(如果它已锁定).

我有一个音乐播放的游戏.按下锁定按钮后,它将继续播放.我最初在OnStop上停止了音乐,但应用程序会在锁定后重新启动,因此音乐最终会再次启动.

然后,我在清单中添加了KeyboardHidden | orientation.这使得它不会重新启动应用程序,但OnStop似乎不再被调用.

我已经尝试使用PowerManager查看屏幕是否打开/关闭,这有效,但没有帮助.(我可以让音乐停在那里,但只要再次按下锁定按钮,音乐就会立即启动)

android screen

54
推荐指数
4
解决办法
5万
查看次数

在整个活动过程中保持屏幕清醒

我的应用程序中有三个活动.我希望屏幕在第二次活动时保持清醒状态.除非手动按下"锁定"键,否则屏幕不应在我的第二个活动中熄灭.我经历了许多链接,但他们似乎对我不清楚.

android screen

54
推荐指数
3
解决办法
4万
查看次数

Xrandr错误.BadName(命名颜色或字体不存在)

我成功地使用xrandr在我的工作场所使用这个小"脚本"扩展我的桌面.

#!/bin/sh

xrandr --newmode 1920x1080  220.64  1920 2056 2264 2608  1080 1081 1084 1128  -HSync +Vsync
xrandr --addmode VGA 1920x1080
xrandr --output VGA --mode 1920x1080
Run Code Online (Sandbox Code Playgroud)

一切都很顺利,直到有一天神奇地停止工作.当我尝试使用它.我刚收到这条消息.

X请求失败的错误:BadName(命名颜色或字体不存在)

笔记本电脑显示屏以奇怪的方式调整大小,但扩展显示器没有任何反应.

我已经恢复了gnome桌面默认配置.我改变了字体配置,我尝试了其他布局和监视器,但总是发生相同的.

screen xrandr

49
推荐指数
2
解决办法
6万
查看次数

Python使用basicConfig方法登录到控制台和文件

我不知道为什么这段代码打印到屏幕上,而不是文件?创建了文件"example1.log",但没有写入任何内容.

#!/usr/bin/env python3
import logging

logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s %(message)s',
                    handlers=[logging.FileHandler("example1.log"),
                              logging.StreamHandler()])
logging.debug('This message should go to the log file and to the console')
logging.info('So should this')
logging.warning('And this, too')
Run Code Online (Sandbox Code Playgroud)

我通过创建一个日志记录对象(示例代码)来"绕过"这个问题,但它一直困扰我为什么basicConfig()方法失败?

PS.如果我将basicConfig调用更改为:

logging.basicConfig(level=logging.DEBUG,
                    filename="example2.log",
                    format='%(asctime)s %(message)s',
                    handlers=[logging.StreamHandler()])
Run Code Online (Sandbox Code Playgroud)

然后所有日志都在文件中,控制台中不显示任何内容

python console logging screen file

48
推荐指数
4
解决办法
5万
查看次数

有没有办法确定以厘米或英寸为单位的android物理屏幕高度?

我需要确切知道屏幕在设备上的实际长度单位有多大,这样我就可以计算出由重力引起的加速度,以每毫秒像素为单位.

Android API中是否有针对此的方法?

android resolution screen inches

47
推荐指数
2
解决办法
4万
查看次数

Magento如何调试空白的白色屏幕

我的Magento后端出错,导致空白屏幕(WSOD).我在管理员中设置了错误,但在var/logs /中没有创建任何内容.(我已检查该目录的权限,一切正确).

我在index.php中也有ini_set('display_errors',1),Magento设置为开发人员模式.我也启用了apache和php错误日志.

虽然没有记录错误?!

任何人都有一个线索,为什么错误没有显示?我很困惑!谢谢

screen magento wsod

47
推荐指数
4
解决办法
10万
查看次数

如何在android中支持不同的屏幕尺寸

我正在开发一个Android应用程序,我必须支持所有不同的屏幕尺寸和密度.所以我为布局创建了不同的文件夹:layout-small layout-largelayout.

然后我为图像创建了不同的文件夹:ldpi, mdpihdpi.在所有可绘制文件夹中,图像必须具有不同的大小?我问这个原因我有一个屏幕尺寸大且密度适中的手机,显示的图像会更小而且尺寸不合适?

android screen

47
推荐指数
5
解决办法
10万
查看次数

如何确定运行.NET Windows Forms程序的监视器?

我有一个C#Windows应用程序,如果用户将其移动到第二台显示器,我希望它能够显示在第二台显示器上.我需要保存主窗体的大小,位置和窗口状态 - 我已经处理过 - 但我还需要知道用户关闭应用程序时它所在的屏幕.

我正在使用Screen类来确定当前屏幕的大小,但我找不到任何关于如何确定运行应用程序的屏幕的内容.

编辑:感谢您的回复,大家好!我想确定窗口所在的监视器,以便我可以进行适当的边界检查,以防用户意外地将窗口放在查看区域之外或更改屏幕大小,使得窗体不再完全可见.

.net c# windows screen winforms

44
推荐指数
4
解决办法
4万
查看次数

Jquery根据浏览器大小/调整大小更改高度

我想知道是否有办法确定浏览器的高度/宽度.我想要做的是在浏览器大小为1024x768时将div上的高度设置为500px,对于任何更低的值,我想将其设置为400px.

提前致谢

javascript browser jquery screen

43
推荐指数
3
解决办法
12万
查看次数

标签 统计

screen ×10

android ×4

.net ×1

browser ×1

c# ×1

console ×1

css ×1

css3 ×1

file ×1

frontend ×1

inches ×1

javascript ×1

jquery ×1

logging ×1

magento ×1

pixel ×1

python ×1

resolution ×1

windows ×1

winforms ×1

wsod ×1

xrandr ×1