我的资源文件夹中的磁盘上有2张图片:send@3x.png和send@2x.png。 3x是64x64,2x是32x32。我在使用按钮并设置其图像时出现了一些问题,其中按钮尺寸小于图像尺寸。所以我决定只使用一个图像并添加一个轻击手势。问题是我不能为我的生活弄清楚如何让图像以正常大小显示。它会将图像大小调整为16x16。我所做的只是:
var imageSend = new Image {Source = "send"}
我将图像添加到我的相对布局,仅设置X / Y约束。图像显示为16x16。我在Y约束中设置了一个断点,只是为了好玩,看看为图像调用.Measure的结果:它返回16x16。我尝试将请求的宽度/高度设置为32,但有两个问题:
如何以原始尺寸显示图像?
编辑:只是为了好玩我将图像尺寸加倍为128x128和64x64。现在图像显示为32x32。为什么?我没有那么大的图像。
答案 0 :(得分:1)
您的问题不是真正的问题,与iOS处理图像资源的方式有关。
@ 2x和@ 3x对于iOS来说意味着这些图像是原始图像大小的2倍(2倍)和3倍(3倍),因此当您说imagename@2x.png并且其大小为32x32时,iOS会计算出原始尺寸为16x16。
不久前你需要3张图片:
@ 1x原始大小 @ 2x是原件尺寸的两倍 @ 3x原始尺寸的3倍
即使你没有在项目中使用@ 1x图像,你也需要使用它的大小作为基础,因为这是iOS的目的。
例: 你想要一个尺寸为45x90的图像你的@ 2x和@ 3x图像的尺寸分别为90x180和135x270。
因此,当您发现将图像加倍时,修复了问题。
有关iOS图像分辨率的更多信息here
希望这会有所帮助.-