Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么72 dpi的图像在96 dpi屏幕上显得更大 我将屏幕设置为72 DPI,并设计了一个100x100的小png图像 @72新闻部。这意味着72像素代表1英寸 现在我把我的屏幕改为120 DPI,并设计了同样的屏幕 图形png图像,100x100@120 DPI。这意味着120像素代表1英寸 我再次将屏幕改为96 DPI。也就是说96像素代表1英寸。 然后创建了一个WPF应用程序并添加了两个图像(步骤1和步骤2)我已将拉伸模式设置为“无”_Wpf_Image_Resolution_Dpi_Dpi Aware - Fatal编程技术网

为什么72 dpi的图像在96 dpi屏幕上显得更大 我将屏幕设置为72 DPI,并设计了一个100x100的小png图像 @72新闻部。这意味着72像素代表1英寸 现在我把我的屏幕改为120 DPI,并设计了同样的屏幕 图形png图像,100x100@120 DPI。这意味着120像素代表1英寸 我再次将屏幕改为96 DPI。也就是说96像素代表1英寸。 然后创建了一个WPF应用程序并添加了两个图像(步骤1和步骤2)我已将拉伸模式设置为“无”

为什么72 dpi的图像在96 dpi屏幕上显得更大 我将屏幕设置为72 DPI,并设计了一个100x100的小png图像 @72新闻部。这意味着72像素代表1英寸 现在我把我的屏幕改为120 DPI,并设计了同样的屏幕 图形png图像,100x100@120 DPI。这意味着120像素代表1英寸 我再次将屏幕改为96 DPI。也就是说96像素代表1英寸。 然后创建了一个WPF应用程序并添加了两个图像(步骤1和步骤2)我已将拉伸模式设置为“无”,wpf,image,resolution,dpi,dpi-aware,Wpf,Image,Resolution,Dpi,Dpi Aware,不确定我是否正确理解了这个概念, 我希望72 dpi图像看起来比96 dpi小,因为如果72像素代表该图像的1英寸,那么在新配置中96像素代表1英寸。因此,我希望72 dpi的图像看起来更小。但事实并非如此。事实上,他正好相反。72 dpi的图像在96 dpi时看起来更大。为什么?当涉及到图像时,WPF是否总是默认为96 dpi 更新 为什么即使在120 dpi(将系统dpi设置为120)的情况下,也只有96 dpi的图像完全适合200x200盒? 每英寸72点(DPI)的图像每英寸72点,而

不确定我是否正确理解了这个概念, 我希望72 dpi图像看起来比96 dpi小,因为如果72像素代表该图像的1英寸,那么在新配置中96像素代表1英寸。因此,我希望72 dpi的图像看起来更小。但事实并非如此。事实上,他正好相反。72 dpi的图像在96 dpi时看起来更大。为什么?当涉及到图像时,WPF是否总是默认为96 dpi

更新 为什么即使在120 dpi(将系统dpi设置为120)的情况下,也只有96 dpi的图像完全适合200x200盒?

每英寸72点(DPI)的图像每英寸72点,而每英寸120点的图像每英寸120点。因此,如果我们显示的是一英寸乘一英寸的图像,则72 DPI图像的每侧将有72个点,120 DPI图像的每侧将有120个点

因此,72 DPI图像中的每个点大于120 DPI图像中的每个点,因此整个72 DPI图像大于120 DPI图像


为了进一步阅读,您可能想查看Mindfire解决方案网站上的页面。

您正在对WPF图形单元的设备独立性进行一些奇怪的假设

无论屏幕设置如何,wpf世界中与设备无关的像素值为1/96英寸。这就是为什么只有96 dpi的实验是正确的

其次,您的本地dpi具有影响力

第二个比例因子“DPI设置”是我们将要改变的内容 我们的测试。WPF无法独立地知道您的监视器的实际情况 物理DPI值为。相反,WPF使用此参数的当前设置 第二个比例因子为“DPI设置”。如果“DPI设置”不正确 匹配真实的物理DPI,则WPF的“分辨率独立性”将 看起来好像坏了——虽然它真的没有


谢谢你的回答。那么你的意思是说WPF将缩放每个点的大小吗?我在想圆点的大小是固定的。我还注意到,只有96 dpi的图像完全适合100x100的尺寸。高于96的显示为小,低于96的显示为大。即使在120 dpi(将系统dpi设置为120)下,也只有96 dpi的图像能够完美地适合100x100盒!为什么?它似乎仍然无法回答我的问题,为什么即使在120 dpi(将系统dpi设置为120)时,也只有96 dpi的图像完全适合100x100盒?抱歉,我无法回答这个问题。。。这可能与你的图像有关,或者你的屏幕没有精确地显示96 DPI。我有两个显示器,在两个显示器上都进行了测试-仍然是相同的行为。这些图像是使用paint.net创建的,其标题中似乎包含DPI信息。为了更清晰地理解这个问题,附上了一个屏幕截图。你能展示一下图像后面的XAML吗?XAML@我想我理解了问题的发送部分,“为什么即使在120 dpi(将系统dpi设置为120)的情况下,只有96 dpi的图像适合200x200框?”我试图将图像大小与网格线的边界进行比较,当网格控件本身被WPF缩放时!如果我拍摄一张截图并比较占用的像素数@120dpi,那么120dpi图像在第二列中的测量值为200x200,与预期值相同!如果我错了,请纠正我。我的办公室里的垃圾桶被堵住了。请你把它写进问题里好吗。