Я разбиваю изображение 2880 x 2560 на два изображения 1440 x 2560. Я пытался использовать CGImageForProposedRect
, но я не уверен, правильно ли я подошел к нему. Вот то, что я до сих пор (показать выход площадка, код прилагается в конце):Как разделить изображение с Swift для OSX
Но если вы заметили, даже несмотря на то, CGRects являются 1440x2560, leftImage
и rightImage
нет. Не так ли работает CGImageForProposedRect
? Если нет, зачем нужен параметр CGRect?
import Cocoa
import AppKit
import CoreGraphics
let image = NSImage(named:"image")
if let image = image {
var imageRect:CGRect = CGRectMake(0, 0, image.size.width, image.size.height)
var imageRef = image.CGImageForProposedRect(&imageRect, context: nil, hints: nil)
var leftImageRect:CGRect = CGRectMake(0, 0, image.size.width/2.0, image.size.height)
var leftImageRef = image.CGImageForProposedRect(&leftImageRect, context: nil, hints: nil)
var leftImage = NSImage(CGImage:leftImageRef!.takeUnretainedValue(), size:NSZeroSize)
var rightImageRect:CGRect = CGRectMake(image.size.width/2.0, 0, image.size.width/2.0, image.size.height)
var rightImageRef = image.CGImageForProposedRect(&rightImageRect, context: nil, hints: nil)
var rightImage = NSImage(CGImage:rightImageRef!.takeUnretainedValue(), size:NSZeroSize)
}