Swift:启用切片时 UIImage 的大小

问题描述

当我在 Xcode 的资产文件夹中切片图像时,UIImage 的 size 属性返回错误值。有谁知道启用切片时如何获取真实图像大小?大小是以像素为单位还是以点为单位无关紧要。

或者也许有一种方法可以获取图像圆形部分的大小,以便我可以在代码中添加大写插图?

这是我在 Xcode 中切片图像的方式:

enter image description here

或者,也许有一种方法可以找到图像突出显示(较暗)部分的大小?

如果有任何想法,我将不胜感激!

解决方法

在资产中“切片”图像时,您无需设置上限插入 - 它会自动完成。

如果您确实需要获取“切片”值,您可以通过 .capInsets 属性读取它们:

    guard let img = UIImage(named: "sliced") else { return }
    print("image size:",img.size)
    print("caps insets:",img.capInsets)
    
    

我的快速测试 - 使用默认切片输出的 200 x 60“胶囊”图像,角半径为 20 像素:

image size: (39.0,60.0)
caps insets: UIEdgeInsets(top: 0.0,left: 19.0,bottom: 0.0,right: 19.0)

因此,宽度 是左插入加上右插入加上 1(一)......因为中心部分会拉伸以适应,“该部分的默认*宽度是1

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...