首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SWIFT2.2-由6X6小图像分割UIImage

SWIFT2.2-由6X6小图像分割UIImage
EN

Stack Overflow用户
提问于 2016-04-03 15:48:51
回答 1查看 641关注 0票数 0

我试图把一个正方形的UIImage分成36幅图像(6x6帧)。

为了对图像进行分割,我使用了一个UIImage的扩展,它将图像分割成两部分,但是,我无法找到将图像放到网格中的方法。

有什么简单的方法吗?

代码语言:javascript
复制
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)
    }
}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-03 16:02:04

你想要一个6/6的图像网格。您所拥有的代码将图像分成两部分。你不能把六分之一从半边取下来。您将需要更改代码,以给您六分之一。我建议您编写一个以参数为参数的方法:

  • 一个UIImage。
  • 行总数
  • A列总数
  • 行索引
  • 列索引

并在那个网格位置返回图像。它需要做一些数学计算,以计算该网格位置的矩形的来源和大小,然后使用CGImageCreateWithImageInRect提取所涉图像。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36387573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档