【发布时间】:2017-09-14 00:04:55
【问题描述】:
如何将UIEdgeInsets(或其一些变体)应用于CGImage?这是我最终想要实现的目标,但CGImage 在转换为CGImage 之前无法识别应用于UIImage 的底部插图。
var image = someUIImage
image = image.withAlignmentRectInsets(UIEdgeInsets(top: 0, left: 0, bottom: (image.size.height / 2), right: 0))
let imageCG: CGImage = image.cgImage!
layer.contents = imageCG
而且我不能直接将插图应用到CGImage(如此处所示)。
let image = someUIImage.cgImage!
image. // can't apply any inset here
layer.contents = image
解决方法?
【问题讨论】:
-
你能让东西在
UIView或它的某个子类中正确显示吗? -
我可以,但不幸的是
CGImage是这个特殊的委托方法所需要的(图像被用作地图上的注释),所以我几乎没有回旋余地。 -
今天下午我实际上正在处理一些代码。我有代码可以将任何
UIView和它的子视图转换为UIImage,效果很好。现在我需要调整/裁剪/缩放该图像(实际上它是一个蒙版)以反映特定的大小。恕我直言,一旦您有了UIImge,将其更改为CGImage(或相反,这是我现在正在处理的)就是一行代码。你认为这对你有用吗? (1) 获取所有内容,包括插图,设置在视图中。 (2) 创建一个适当大小的视图的缩放图像。如果是这样,当我完成时(希望今天)我会发布完整的代码。