将WPF(分辨率无关)宽度和高度转换为物理屏幕像素的最佳方法是什么? 我在WinForms表单(通过ElementHost)中显示WPF内容,并试图找出一些大小的逻辑。 当操作系统以默认的96 dpi运行时,我已经可以正常工作了。 但是,当操作系统设置为120 dpi或其他分辨率时,它将不起作用,因为那么报告其宽度为96的WPF元素就WinForms而言将实际上是120像素宽。 System.Windows.SystemParameters上找不到任何“每英寸像素”设置。 我相信我可以使用相当于WinForms(System.Windows.Forms.SystemInformation),但有没有更好的方法来做到这一点(阅读:使用WPF API的方式,而不是使用WinForms API和手动做math)? 什么是将WPF“像素”转换为真实屏幕像素的“最佳方式”? 编辑:我也想在WPF控件显示在屏幕上之前这样做。 它看起来像Visual.PointToScreen可以给我正确的答案,但我不能使用它,因为该控件还没有parented,我得到InvalidOperationException“此Visual不连接到PresentationSource”。
Nexus 7:7“1280×800 Galaxy标签10.1 10“1280×800 我希望我的应用可以在7英寸和10英寸的平板电脑上运行。 据我所知,我必须在我的应用程序中包含这些布局文件夹: 为7英寸片剂 布局sw600dp 布局sw600dp端口 对于10英寸的药片 布局sw720dp 布局sw720dp端口 它在nexus 7上运行良好,但在10“平板电脑上加载sw600dp布局。 如果我包含这些默认文件夹: 布局 布局端口 10“星系标签从这些加载布局。 如果我只包含默认的布局文件夹和sw600dp,它会在nexus7上崩溃。 我应该如何支持手机,7“平板电脑和10”平板电脑,如果10“星系标签不会加载sw720p布局? 编辑:格式化
有没有办法访问Javascript函数中的屏幕显示的DPI设置? 我试图在页面上放置一个HTML面板,当用户的DPI设置为较大(120)时,它将抛出该位置。 我需要能够知道DPI是什么,所以我可以相应地调整位置。
如果您的显示器的DPI超过150(如Macbook Pro),您也可能会发现问题: Java Swing应用程序的字体对于高DPI显示器来说太小 ,我根本无法更改字体大小直接忽略Windows DPI,只显示非常原始的DPI – > 96 )。 我无能为力,只能改变屏幕分辨率,这绝对会使LCD上的一切变得模糊。 是的,我有一个高DPI显示器的笔记本电脑,15.6'分辨率为1920×1080,一些Java桌面应用程序在我的笔记本电脑,如Matlab,Burpsuite等看起来很小,我一直在search互联网很长一段时间,但仍然找不到解决问题的方法。 我知道我可以通过JRE_HOME/lib/font/fontconfig.properties.src来更改JRE字体,但是我找不到任何地方为Java桌面字体设置默认字体大小或DPI。 问题没有解决办法吗? 你有一个高DPI显示器? 你如何做这样的应用程序? Swing是否放弃高DPI用户?
我们知道,正确的大小的图标: * drawable-ldpi (120 dpi, Low density screen) – 36px x 36px * drawable-mdpi (160 dpi, Medium density screen) – 48px x 48px * drawable-hdpi (240 dpi, High density screen) – 72px x 72px * drawable-xhdpi (320 dpi, Extra-high density screen) – 96px x 96px 在果冻豆上,可以支持drawable-xxhdpi 。 那么什么是正确的大小图标?
简介:有很多评论说“WinForms不能自动缩放到DPI /字体设置,切换到WPF”。 但是,我认为这是基于.NET 1.1; 看来他们在.NET 2.0中实现了自动扩展的function。 至less根据我们的研究和testing到目前为止。 但是,如果你们中有些人知道的更好,我们很乐意听到你的消息。 (请不要争论我们应该切换到WPF …这不是一个选项。) 问题: 什么在WinForms不能自动缩放,因此应该避免? 在编写WinForms代码时,程序员应遵循什么样的devise指导方针,使其能自动扩展? 我们已经确定的devise指南迄今为止: 请参阅下面的社区wiki答案 。 这些是不正确还是不足? 我们应该采用其他指导方针吗? 还有其他的模式需要避免吗? 对此的任何其他指导将非常感激。
我想加载它的值。 我有两个dimension.xml文件,一个在/res/values/dimension.xml ,另一个在/res/values-sw360dp/dimension.xml 。 从源代码,我想要做的事情 getResources().getDimension(R.dimen.tutorial_cross_marginTop); 这工作,但我得到的价值乘以屏幕密度系数(hdpi为1.5,xhdpi为2.0等)。 我也试过去做 getResources().getString(R.dimen.tutorial_cross_marginTop); 这将原则上工作,但我得到一个string,结束在“浸”…
我怎样才能在WPF中获得DPI?
我已经开始使用Adobe Photoshop为我的Android应用程序制作graphics。 但是我无法继续下去,因为Photoshop中的分辨率是以每英寸像素为单位设置的,正如谷歌的官方文档中所说的那样,Android会要求以dpi为单位设置图像。 我已经在networking上search了两者之间的转换,但从来没有结束任何适当的公式。 我知道Android文档将关系描述为px = dp*dpi/160 。 但我的问题是,如果我知道dpi在哪里可以得到在这个计算中使用的dp值? 还是有任何关于dp的价值的假设? 我很困惑。
我创build了一个小企业的应用程序。 办公室的一些员工无法正确地看到表格。 原因是他们的DPI设置为96dpi以上。 有谁知道一个方法来控制这个? 对于所有对winforms应用程序有经验的人,你如何控制你的表单布局,使DPI不影响应用程序的外观?