我试图把一个正方形的UIImage分成36幅图像(6x6帧)。
为了对图像进行分割,我使用了一个UIImage的扩展,它将图像分割成两部分,但是,我无法找到将图像放到网格中的方法。
有什么简单的方法吗?
extension UIImage {
var topHalf: UIImage {
return UIImage(CGImage: CGImageCreateWithImageInRect(CGImage, CGRect(origin: CGPoint(x: 0, y: 0), size: CGSize(width: size.width, height: size.height/2)))!, scale: 1, orientation: imageOrientation)
}
var bottomHalf: UIImage {
return UIImage(CGImage: CGImageCreateWithImageInRect(CGImage, CGRect(origin: CGPoint(x: 0, y: CGFloat(Int(size.height)-Int((size.height/2)))), size: CGSize(width: size.width, height: CGFloat(Int(size.height)-Int((size.height/2))))))!, scale: 1, orientation: imageOrientation)
}
var leftHalf: UIImage {
return UIImage(CGImage: CGImageCreateWithImageInRect(CGImage, CGRect(origin: CGPoint(x: 0, y: 0), size: CGSize(width: size.width/2, height: size.height)))!, scale: 1, orientation: imageOrientation)
}
var rightHalf: UIImage {
return UIImage(CGImage: CGImageCreateWithImageInRect(CGImage, CGRect(origin: CGPoint(x: CGFloat(Int(size.width)-Int((size.width/2))), y: 0), size: CGSize(width: CGFloat(Int(size.width)-Int((size.width/2))), height: size.height)))!, scale: 1, orientation: imageOrientation)
}
}

发布于 2016-04-03 16:02:04
你想要一个6/6的图像网格。您所拥有的代码将图像分成两部分。你不能把六分之一从半边取下来。您将需要更改代码,以给您六分之一。我建议您编写一个以参数为参数的方法:
并在那个网格位置返回图像。它需要做一些数学计算,以计算该网格位置的矩形的来源和大小,然后使用CGImageCreateWithImageInRect提取所涉图像。
https://stackoverflow.com/questions/36387573
复制相似问题