问题标签 [resolution-independence]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
606 浏览

javascript - 如何在使用 Javascript 的浏览器上获得“Ctrl +”行为?

我在我的 47 英寸液晶电视(分辨率 1920 * 1080, 16:9)上打开了 Stack Overflow 网站,发现文本和网站就在很多空白的中间。文本不可读,因为 Stack Overflow 与许多其他网站一样,针对标准 1200/1024 视口进行了优化。

为了使网站可读,我按了“ctrl”和“+”键,让内容占据了更多的屏幕宽度。我确信这不是“放大”,因为浏览器实际上在做的是扩大内容大小(即减少每个字符的像素数)。

在检测到视口的分辨率/大小参数后,是否可以使用 Javascript 作为预渲染练习来实现这种“ctrl +”行为?

更新:我尝试了@media-queries,它可以缩放字体大小和其他一些东西,但它无助于以平衡的方式缩放图像和其余内容(例如填充等)。最重要的是,它不满足将给定 div 的大小限制为“610 像素但仍占据可用屏幕宽度的 75%”的条件。

如果我们在基于 Gecko/Webkit 的浏览器上按 ctrl +,这就像一个分辨率变化。抱歉不能接受下面的回答。

0 投票
1 回答
424 浏览

c# - 修复了 WPF 全屏应用程序中像素大小的 WinForm 自定义控件

我尝试在 WindowsFormHost 中插入一个 Winform 自定义控件。此自定义控件仅适用于固定高度和宽度。

我尝试为此自定义控件和 WindowsFormHost 指定宽度和高度,但由于 WPF 大小与分辨率无关,因此控件被缩放并破坏了位置。

有什么办法可以强制这个自定义控件的大小以像素为单位?

0 投票
0 回答
246 浏览

android - Android Sprite Jump Physics 和屏幕独立性

我一直在为现在似乎永恒的东西编写一个 2D Surfaceview 游戏,我根本无法理解 Android 的屏幕独立性。

基本上,我的精灵像这样跳跃:Y 值减少了一个量(我称之为“步长”),然后步长减少了 1 并且一直持续到步长为负数,然后实际上被添加到精灵的 Y 值并且它“下降”回来 - 完美地工作(这是我一直让精灵“跳跃”的方式)。

当我在不同的 DPI 屏幕上运行它时,问题就出现了——它仍然可以工作,但是精灵会跳到相对于屏幕尺寸完全不同的高度。

我明白为什么会发生这种情况,但我就是想不出办法来解决它!

如何让它在所有屏幕分辨率上“跳跃”到正确的高度?(我目前主要使用 160 和 240 DPI)

谢谢,非常感谢任何评论。

问候

0 投票
1 回答
1817 浏览

android - 具有相同分辨率的设备上的 Android DPI 独立性

我有一些关于 Android 屏幕/DPI/分辨率独立性的一般性问题。

基本上,我特别关注基于 sprite 的应用程序,例如基于 Surfaceview 的应用程序。

我读过的每一份指南(包括官方指南)都说你应该只使用 DPI 而不是分辨率。

但是,当两台设备的 DPI/屏幕尺寸不同但分辨率相同时会发生什么?拿 Galaxy tab 10.1 (1280 x 800 - DPI aprox 150) 和 Galaxy Note (我认为是 1280 x 800 aprox 285 DPI??)

当在每一个上显示一个 50 x 50 的精灵时,相对于屏幕尺寸,它看起来是相同的尺寸。但是,如果 Android 因为检测到不同的 DPI(即,来自 LDPI、HDPI 等)而抓取了不同大小的精灵,那么相对于屏幕尺寸,Note 上的精灵看起来会比 Tab 上的要大。

任何人都可以请我直接解决这个问题,因为我无法解决它!谢谢大家。

0 投票
2 回答
1805 浏览

qt - 是否可以在不重写代码的情况下重新调整 Qt GUI?

我负责一个大型(100+KLOC)Qt 应用程序,其中包含数十个窗口和数百种不同类型的小部件。

今天,一位用户问我是否有任何方法可以使该应用程序的某些较大的窗口更适合他的 13 英寸笔记本电脑的显示屏。

当然有一些方法可以让窗口更节省空间,重新组织 GUI 以允许更多地显示/隐藏各种事物,使用更小的字体等等......但我认为他真正想要的是一种简单的方法将整个窗口均匀地缩小一定百分比....类似于 Apple 的 Expose 所做的效果,或某些 VNC 客户端所做的效果。

所以我的问题是......有没有办法告诉Qt将整个窗口缩小x%,而不涉及修改/重新设计大部分代码库?我知道 QPainter 有一个 setScale() 方法,并且 QGraphicsView 允许很好的全局缩放,但是我的应用程序属于 QWidgets 的层次结构,所以我需要一种方法来缩放整个层次结构,而不仅仅是在特定 QWidget 的帆布。

0 投票
1 回答
1147 浏览

svg - 如何创建支持多个像素比的 SVG?

我想创建使用 <image> 元素的与分辨率无关的 SVG。是否可以测试用户代理的实际像素比?请看示例:

我只在文档中找到了Switch Element ,但它似乎不是很有帮助,因为没有“视网膜显示”功能。或者有吗?:)

0 投票
2 回答
435 浏览

c++ - DirectX9 独立分辨率

如何更改分辨率并将整个游戏扩展到新的分辨率?我希望我的游戏有一个基本分辨率,当我改变它以拉伸到新的分辨率时。我看到了一些类似的问题,但所有答案都表明我应该更改演示参数。如果我这样做,我的屏幕分辨率会改变,但我所有其他对象的大小保持不变并且绘制在错误的位置。

我使用 LPD3DXSPRITE 对象将纹理绘制到屏幕上,一些 DirectX 文本和定义如下的顶点:

我尝试将 D3DXSPRITE_OBJECTSPACE 放在 sprite->Begin() 并使用投影、视图和世界矩阵,但没有成功。

有人可以告诉我这种方法是否可行,我该怎么做?我还阅读了另一种建议渲染到表面,然后拉伸表面的方法,但我不知道如何实现。我是 DirectX 的初学者。我用谷歌搜索了第二种方法,但找不到解释它的人,而且我认为我不能从精灵绘制到表面。

编辑:

我设法使用 CreateRenderTarget、SetRenderTarget 和 StretchRect 方法做到这一点,首先打印到表面,然后在后台缓冲区上拉伸它。

0 投票
2 回答
71 浏览

android - 如何在 Android 上为大型设备设置一个按钮?

我知道您可以通过声明不同的layout文件夹(如layout-large或)来拥有不同的 UI 元素layout-xlarge。但是,我不想每次更改我的应用程序界面时都更新两个单独的文件。

有没有其他方法可以让按钮仅visibility="gone"在小屏幕上具有并且在大屏幕上具有正常可见性?

0 投票
3 回答
593 浏览

android - Android 使用可绘制文件夹

简单的问题。如果任何文件夹为空,android 如何处理可绘制文件夹?可以说我只有在文件夹“drawable-hdpi”中有图像。当我在具有更高dpi“drawable-xhdpi”的模拟器上启动应用程序时,它会从“drawable-hdpi”加载图像(当然尺寸不好)。此外,当我在具有较低 dpi“drawable-mdpi”的设备上启动应用程序时,它会从“drawable-hdpi”加载图像。

我的问题是 - 这是否意味着如果当前设备 dpi 不存在图像,android 系统从其他文件夹获取图像,它不为空?直到今天我还想,当当前 dpi 中的图像不存在时,应用程序不起作用。

0 投票
1 回答
39 浏览

size - WPF如何在不同的设备上获得相同的视觉尺寸

我正在制作一个 WPF 程序。我在我的桌面上工作。当我在笔记本电脑上运行程序时,我发现元素的实际大小是不同的。我想让它在我的笔记本电脑上获得与我在桌面上看到的相同的视觉尺寸。两个设备的每个分辨率彼此相同(1920 x 1080)。

我附上了一张图片,以便您快速了解这种情况。红色轮廓的一个来自我的台式机,另一个来自我的笔记本电脑。

图片在下面,而不是真实的图像。我是stackoverflow的新手对不起。

图片