展开

关键词

Windows微信DPI适配

在开发过程中,我们会接触到两个DPI的概念:面板DPI和OS DPI。 面板DPI是设备真实的DPI,是一个固定的物理属性。 OS DPI是操作系统根据面板DPI校准后的一个标准化的DPI。 适配过程中所使用的DPI都是指的OS DPI。Windows平台中标准的OS DPI一般有96 、120、144、192这四个,用户可以在系统的控制面板里进行修改。 Windows以DPI为96作为100%大小的基准。提供了120、144、192四个标准的DPI。其各自对应了一个缩放比例。? 3.2.1 GetDeviceCaps 通过GetDeviceCaps可以获取到水平和垂直方向的DPI,得到了DPI,还需要明确支持的DPI缩放范围。 使用其他DPI目录的图片资源时,在使用之前还需要先进行缩放处理,缩放的比例由相关的两个DPI的比决定,以查找120 DPI下test.png为例。具体流程如下:?

2.2K90

支持 Windows 10 最新 PerMonitorV2 特性的 WPF 多屏高 DPI 应用开发

不过这只是兼容性的设计而已,感谢老版本的系统使用字符串包含的方式,于是可以老版本的系统可以兼容新的 DPI 感知:什么都不填 如果你额外也没做什么 DPI 相关的操作,那么就是 Unaware。 dpiAwareness 节点目前支持的有:什么都不设置 按 dpiAware 节点的结果来整个逗号分隔的序列都没有能识别的 DPI 感知级别 如果你额外也没做什么 DPI 相关的操作,那么就是 Unaware 注意:这个要设为 false。(微软官方吐槽:Yes, set it to false. Double negative FTW!) AppContextSwitchOverrides 不能被设置两次,如果一已经设置了其他,需要用分号分隔多个。 所以仅针对 Windows 8.1 做特殊的 DPI 缩放是不得的,把 Windows 8.1 当做 Windows 7 来做那种不支持 Per-Monitor 的处理就好了。

53020
  • 广告
    关闭

    90+款云产品免费体验

    提供包括云服务器,云数据库在内的90+款云计算产品。打造一站式的云产品试用服务,助力开发者和企业零门槛上云。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    H5 viewport 语法

    width & height  控制 viewport 的大小,pixel_value表示可以指定的一个或者特殊的,而device-widthheight为设备的宽度高度(单位为缩放为100%时的 target-densitydpi属性的取范围:device-dpi –使用设备原本的dpi作为目标dp,不会发生默认缩放。 high-dpi – 使用hdpi作为目标dpi,中等像素密度和低像素密度设备相应缩小。 low-dpi -使用mdpi作为目标dpi,中等像素密度和高像素密度设备相应放大。 – 指定一个具体的dpi作为target dpi,这个的范围必须在70–400之间。 默认yes是允许,反之为no。如果将其设置为no,那么minimum-scale和maximum-scale都将被忽略。 所有的缩放都必须在0.01–10范围内。

    31020

    Android必知必会-App 常用图标尺寸规范汇总

    程序启动图标(icon launcher)放在mipmap-*dpi下,文件名为ic_launcher.pngL DPI ( Low Density Screen,120 DPI ),其图标大小为 36 x 36 pxM DPI ( Medium Density Screen, 160 DPI ),其图标大小为 48 x 48 pxH DPI ( High Density Screen, 240 DPI ),其图标大小为 72 x 72 pxXH DPI ( Extra-high density screen, 320 DPI ),其图标大小为 96 x 96 pxXXH DPI( xx-high density screen, 480 DPI ),其图标大小为144 x 144 pxXXXH DPI( xxx-high density screen, 640 DPI ),其图标大小为192 x 192 px技巧 不透明度16进制 不透明度 16进制 100% FF 95% F2 90% E6 85% D9 80% CC 75% BF 70% B3 65% A6 60% 99 55% 8C 50% 80 45%

    31140

    深入浅出之移动端屏幕适配(1)

    下面进入正题:px:像素dp:基于密度(density)的相对单位,与设备无关像素sp:与像素无关单位,用于字体大小density:比例。对于第二个应该是有疑问的?‘密度‘是什么? 首先这个density‘密度‘的意思与物理中的密度有点不一样的,它是指一个比例,计算方式为 DPI (160像素英寸) 。 其实根据上面讲的几点:屏幕分辨率480*800,屏幕尺寸4英寸,已经可以计算了,(4804^2)+(8004)^2开平方根;那么density的应该为233160=1.46 px要怎么算? px=dp*density;结果是实际的像素点,由于density随着屏幕分辨率改变的比例因此像素点会随之改变。 下面一个部分直接引用:为啥 标准dpi = 160  (1)Android Design 里把主流设备的 dpi 归成了四个档次,120 dpi、160 dpi、240 dpi、320 dpi  实际开发当中

    378100

    WPF 中如何创建忽略 DPI 属性的图片

    WPF 中如何创建忽略 DPI 属性的图片 2020-01-08 04:57 WPF 框架设计为与 DPI 无关,但你依然可能遇到 DPI 问题。 尤其是 Image 控件显示的图片会根据图片 EXIF 中的 DPI 信息和屏幕 DPI 自动缩放图片。 对于 UI 用图来说这是好事,但对于软件用户随便插入的图片来说就不是了——用户传入的图片可能是各种各样不统一的 DPI。因此这种 DPI 我们应该忽略。 除此之外,我们还可能可以尝试这些方法:创建 BitmapImage 对象,根据当前屏幕的 DPI 计算 DecodePixelWidth 和 DecodePixelHeight;创建 DrawingImage 以下的代码中,都假设当前 DPI为 monitorDpi。

    34420

    HTML5 meta viewport参数详解

    viewport语法如下: viewport的参数详细信息如下:width:控制 viewport 的大小,可以指定的一个或者特殊的,如 device-width 为设备的宽度(单位为缩放为 100% 这也是一个浮点,用以指出页面大小与屏幕大小相比的最大乘数。例如,如果你将这个设置为“2.0”,那么这个页面与target size相比,最多能放大2倍。user-scalable:用户调整缩放。 其中target-densitydpi的取范围如下:device-dpi:使用设备原本的 dpi 作为目标 dp。不会发生默认缩放。high-dpi:使用hdpi 作为目标 dpi。 medium-dpi:使用mdpi作为目标 dpi。高像素密度设备相应放大, 像素密度设备相应缩小。这是默认的target density。low-dpi:使用mdpi作为目标 dpi。 value:指定一个具体的dpi作为target dpi。这个的范围必须在70–400之间。

    41610

    实用!这个插件可以让PPT导出指定分辨率的TIF图片

    如果是使用PPT默认的宽屏尺寸(宽度为33.867厘米),在DPI框里面设置100、150、200、250、300,水平宽度像素会自动换算成正确的;如果设置成其他DPI,则需要自己计算水平宽度像素 ,因为插件换算的是特定DPI区间下的最小像素,非上述指定DPI对应的水平宽度像素并不准确。 非指定DPI对应水平像素的具体计算方法为:幻灯片宽度(厘米)÷2.54×DPI比如,在PPT默认的宽屏尺寸(宽度为33.867厘米)里面设置DPI为600,插件像素只会自动变为4000,这个4000其实是对应 3、在左侧导航栏选中需要导出的幻灯片,单击OK拼图-页面导图,导出所选PPT为图片,格式和分辨率上会满足上面设定的数。 跟修改注册表的方法相比:1、操作简单,初次设置和修改分辨率不需要到注册表中去寻找准确的“ExportBitmapResolution”文件位置;2、设置麻烦,要根据幻灯片宽度和需要设置的DPI来计算水平宽度像素

    34330

    谈谈DPI、分辨率与缇

    可以注意到的是像素本身是不跟现实中的物理量有什么联系的,但是有一个东西是有联系的,那就是 DPI,将英寸和像素联系起来了。那 DPI 这个又是怎么来的呢? 很多人只知道 Windows 下 DPI 一般是96, 打印是300 。但是并不知道这个怎么来的。这就要看像素怎么来的,对于电脑来说,屏幕分辨率就是像素信息。 DPI 有什么用屏幕 DPI对于客户端开发来说,在系统层面,是无法准确知道用户的电脑屏幕是多大的,对于客户端,只能感知屏幕有多少个像素。 但是如果你根据上边的公式算一下,其实不难算出,这种高分屏的 DPI 是要比 96 大的,如果细心观察,高分屏默认选择的 DPI 也不是标准 DPI 而是放大的,其实就是因为它比 96 要大而已,因为有这个 但是相同像素大小的图片,不同 DPI,它们打印出来大小就截然不同了,因为在这里就要根据 DPI 换算它们的实际大小,才能准确的打印在纸上,这就跟 DPI 有关了。

    13140

    LeetCode 0044. 通配符匹配

    b输出:false解题思路定义 dpi 为 s0:i 与 p0:j 是否完全匹配,可以对 pj 区分以下几种情况:pj 是 a~z 几个字符,此时 dpi = dpi-1 & (si-1 == pj-1 能够匹配任意字符,所以 pj 肯定能匹配到 si,所以 dpi=dpi-1pj == *,这种情况最复杂,因为 * 可以匹配任意字符串若匹配空字符串,即 pj 不参与匹配,则 dpi = dpi若不匹配空字符串 ,因为 pj 能够匹配任意字符串,所以 pj 匹配了 si,可能还能够继续匹配,则 dpi = dpi-1则状态转移方程为:下面以示例 4 为例:假设已经分析到了图中绿色方框的部分,此时 p3 是星号, s3 是字符 c,那么 dp3 有两种可能:p3 不参与匹配,则看 dp3,为 0p3 参与匹配,则看 dp2,为 1最终匹配到的流程是上图的红字路径。

    17310

    Python使用ctypes调用Windows API函数获取屏幕真实DPI

    封面图片:《Python程序设计开发宝典》(ISBN:9787302472100),董付国,清华大学出版社,2017 功能描述:获取计算机屏幕真实DPI。 在Win10系统中,可以在系统设置中修改和设置屏幕DPI,如图所示: ?参考代码: ?运行结果,一次是使用默认100%,对应DPI为96,一次是改为150%,对应DPI为144。 ?

    67620

    ST算法

    RMQ问题 RMQ(Range MinimumMaximum Query),即区间最查询。对于长度为n的数列arr,回答若干询问Q(i,j),返回数列arr中下标在i,j之间的最大小。 ST算法 ST算法是一个在线算法,它可以在O(nlogn)时间内进行预处理,然后在O(1)的时间内回答每个查询,假设现在的数组为arr(下标均是从1开始),初有了,剩下的就是状态转移方程。 首先把dpi平均分成两段(因为一定是偶数个数字),从i到i+2^j-1^-1为一段,i+2^j-1^到i+2^j^-1为一段(每段长度都为2^j-1^)。 dpi就是这两段最大的最大。于是得到了状态转移方程式dpi = max(dpi,dpi+2^j-1^)for(int i = 1;i

    46320

    关于WinForms的跨显示器DPI自适应

    由于历史原因,它对高DPI以及跨不同DPI屏幕的支持有些问题,本文将探索尽可能的解决方案。Windows 的“黑历史”Windows 系统的默认DPI(更确切的说法叫 PPI)是96。 这个越高,表示屏幕的显示能力越细腻。但也意味着,要显示物理尺寸和低PPI屏幕相同的画面,高PPI屏幕需要更多的像素来填充。 我们可以通过下图的设置搭配,解决很多老程序的DPI适配。但是很难做到跨屏幕DPI自适应。?? 所谓跨屏幕DPI自适应(Per Monitor-DPI aware),意思就是当你的电脑有外接屏幕时,Windows会选择适配该屏幕的DPI来显示外接屏幕的图像。 然而运行起来,在150% DPI的主屏幕是会模糊,并且控件错位。?将窗口拖动到100% DPI的屏幕上,UI不模糊,但控件依旧错位。?

    73120

    最大m子段和问题(动态规划(又来填表了....))

    (例如可能是a0、a1、a4这三段)所以,dpi总共有两种可能。 1.若aj和aj-1合成一段,此时 dpi = dpi-1 + aj2.aj单独成段,然后往aj前面的项找i-1个子段最大和,此时dpi = dpi-1+aj最后取这两种情况中的最大,赋给dpi。 例如我们要求图中的星星部分的,也就是dp2的,首先第一种情况是a4与前面的a3连成一段,即该种情况下的dp2的为dp2+a4=8+(-5) = 3;第二种情况是,a4自成一段,并且看看其之前的项中 ,i-1段最大和为多少,可以看到为7,所以该种情况下的dp2的为dp1+a4 = 7 + (-5) = -2;取第一种情况与第二种情况中的最大,为3,填入dp2中。 即,再上一轮填空的过程中,记录j列之前(包括j列)的最大,以供此轮填表使用。4.参考代码完

    23710

    《Pandas 1.x Cookbook · 第二版》第05章 探索性数据分析

    5.1 概括性统计概括性统计包括平均、分位、标准差。. describe方法能计算DataFrame中数列的统计信息:>>> import pandas as pd>>> import numpy as np>>> fueleco = pd.read_csv :>>> set(fueleco.rangeA.apply(type)){, }统计缺失的数量:>>> fueleco.rangeA.isna().sum()37616将缺失替换为0,-替换为,根据分割字符串 plt.subplots(figsize=(10, 8))>>> fueleco.city08.hist(ax=ax)>>> fig.savefig(... c5-conthistpan.png, dpi ----5.5 在不同种数据间比较连续分析Ford、Honda、Tesla、BMW四个品牌的city08列的平均和标准差:>>> mask = fueleco.make.isin(... ... )

    13710

    使用 matplotlib 绘制条形码

    效果图 代码 import numpy as npimport matplotlib.pyplot as plt code = np.array() pixel_per_bar = 4 # 线宽像素dpi = 100 # 分辨率,默认也是100 fig = plt.figure(figsize=(len(code)*pixel_per_bardpi, 2), dpi=dpi)ax = fig.add_axes ax.set_axis_off() # 隐藏 ax 的坐标轴ax.imshow(code.reshape(1,-1), # 必须将(N,1)转化为(N,1), 否则会报错 cmap=binary, # 设置为二图 aspect=auto) # aspect 设置坐标轴的长宽比 plt.show() 简单的介绍其中的 API plt.figure() figsize=(w,h) 窗口的宽和高,单位为英尺; dpi =100 窗口的分辨率,默认为100; num=None 图窗的唯一标识,和 MATLAB 的机制类似的; fig.add_axes(rect, projection=None, polar=False

    10820

    浅淡HTML5移动Web开发

    为非负数,如monochrome:3- resolution 检测屏幕或打印机的分辨率,如min-resolution:300dpi(dpi后面会介绍),也可以是每厘米像素点的度量,如min-resolution :120dpcm- scan 扫描方式,为progressive(逐行扫描)、interlace(隔行扫描)- grid 检测输出设备是网格设备还是位图设备创建媒体查询时,上述特性(scan和grid 表示适配高分辨率的屏幕,还可以取为dpi_value | device-dpi| high-dpi | medium-dpi | low-dpi,后面的四个定性,第一个定量,即dpi_value是DPI ,device-dpi是使用设备原本的 dpi 作为目标 dp,不发生默认缩放,而后面的三个是指dpi在一定范围的表示。 这里我们先介绍前文出现过的一个名词dpi,所表示的是每英寸所拥有的像素(pixel)数目,数越高,即代表显示屏能够以越高的密度显示图像。

    60350

    matplotlib相关图形绘制(二)

    目录 1、绘制箱线图 2、绘制散点图与气泡图(所用参数一致) 3、雷达图1、绘制箱线图1)作用箱线图是由一组数据的最大、最小、中位数、两个四分位数(上、下四分位数)这五个特征绘制而成的,它主要的作用是反应原始数据分布的特征 门课程考试成绩的箱线图df = pd.read_excel(rC:Users黄伟Desktopmatplotlib.xlsx,sheet_name=直方图) plt.figure(figsize=(6,5),dpi np.arange(50,101,10))plt.title(8门课程考试成绩的箱线图,fontsize=15) plt.tight_layout()plt.savefig(8门课程考试成绩的箱线图,dpi np.arange(50,101,10))plt.title(11名学生考试成绩的箱线图,fontsize=15)plt.tight_layout()plt.savefig(11名学生考试成绩的箱线图,dpi (np.arange(0,141,20))plt.yticks(np.arange(0,10001,2000)) plt.tight_layout()plt.savefig(小麦产量与降雨量的散点图,dpi

    5620

    LeetCode 0064. 最小路径和

    示例 2:输入:grid = ,]输出:12解题思路定义 dpi 为从 (0,0) 到 (i,j) 的最大距离,其实这道题和第 62 题:不同路径在本质上是一样的,只不过这里每个格子不是 1,而是一个数 只有两种可能:从上面过来最小,即 dpi-1从左面过来最小,即 dpi则状态转移方程为:dpi = Math.min(dpi - 1, dpi) + gridi;代码class Solution { public

    24320

    matplotlib相关图形绘制(一)

    ② 绘制多个点  当只传入一组数据的时候,那么每个元素的下标相当于X轴横坐标,这一组数据中的每个相当于Y轴的纵坐标。当传入两组数据,第一组数据相当于X轴横坐标,第二组数据相当于Y轴的纵坐标。 3、绘制柱形图1)作用  柱形图又叫条形图、柱状图,用来比较两个或以上的价(不同时间或者不同条件),只有一个变量,通常利用于较小的数据集分析。 align 表示柱子的位置与x的对应关系。可选center、edge参数。center表示柱子位于x的中心位置,edge表示柱子位于x的边缘位置。 3)演示说明? 5、绘制饼图1)作用  饼图用圆形及圆内扇形的角度来表示数大小的图形,它主要用于表示一个样本(或总体)中各组成部分的数据占全部数据的比例。对于研究一个总体的结构性组成很有作用。 ) plt.title(生产总构成的环形图) plt.axis(equal)plt.savefig(生产总构成的环形图,dpi=300) 结果如下:?

    30810

    扫码关注云+社区

    领取腾讯云代金券