У меня есть UIImageView, который показывает UIImage, имеющий режим содержимого как Соотношение сторон .
Мне нужно указать прозрачные области изображений на шахматной доске , Как получить квадраты одинакового размера, независимо от размера изображения?
extension UIImage {
func withChessboard() -> UIImage? {
var image: UIImage?
let l = 4
UIGraphicsBeginImageContextWithOptions(size, false, scale)
let imageRect = CGRect(x: 0, y: 0, width: size.width, height: size.height)
if let context = UIGraphicsGetCurrentContext() {
context.setFillColor(UIColor.lightGray.cgColor)
for row in 0 ..< Int(size.width) {
for col in 0 ..< Int(size.height) {
if (row + col) % 2 == 0 {
context.fill(CGRect(x: col * l, y: row * l, width: l, height: l))
}
}
}
draw(in: imageRect, blendMode: .normal, alpha: 1.0)
image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
return nil
}
}
Теперь у меня есть это (первое изображение меньше)
и это:
РЕДАКТИРОВАТЬ , используя решение, предложенное Трент, я получил это. Мне нужно, чтобы плитки покрывали только размер изображения, а не весь просмотр изображения.