【发布时间】:2015-01-06 00:07:31
【问题描述】:
我将一张 2880 x 2560 的图像分割成两个 1440 x 2560 的图像。我一直在尝试使用CGImageForProposedRect 来做到这一点,但我不确定我是否正确地接近它。这是我到目前为止的内容(显示操场输出,最后附上代码):
但是,如果您注意到,即使 CGRect 是 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)
}
【问题讨论】:
标签: macos swift xcode6 cgrect cgimage