Возврат NSRectangle с равной шириной и высотой - PullRequest
1 голос
/ 05 апреля 2020

Я использую следующий код для возврата NSRectangle

  let ciimage = ciImage.cropped(to: $0.bounds.insetBy(dx: -$0.bounds.width/1.6, dy: -$0.bounds.width/1.6) )

Но возвращаемый прямоугольник имеет неравную ширину и высоту. Как я могу сделать его квадратным?

1 Ответ

0 голосов
/ 05 апреля 2020
let width = $0.bounds.width; let height = $0.bounds.height
let widthInset = (width > height) ? (width - height) / 2 : 0
let heightInset = (height > width) ? (height - width) / 2 : 0
let croppedBounds = $0.bounds.insetBy(dx: widthInset, dy: heightInset)
ciImage = ciImage.cropped(to: croppedBounds)

Что-то подобное?

...