问题描述
当我在 Xcode 的资产文件夹中切片图像时,UIImage 的 size
属性返回错误值。有谁知道启用切片时如何获取真实图像大小?大小是以像素为单位还是以点为单位无关紧要。
或者也许有一种方法可以获取图像圆形部分的大小,以便我可以在代码中添加大写插图?
这是我在 Xcode 中切片图像的方式:
或者,也许有一种方法可以找到图像突出显示(较暗)部分的大小?
如果有任何想法,我将不胜感激!
解决方法
在资产中“切片”图像时,您无需设置上限插入 - 它会自动完成。
如果您确实需要获取“切片”值,您可以通过 .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
。