我想裁剪包含PDF的NSImage。在打印时,我使用NSImage的drawInRect来让它只绘制我需要的东西 - 而且这个效果很好。NSImage - 裁剪PDF后模糊
但是,现在我试图创建一个裁剪区域的新NSImage。我打了一段时间,然后发现CocoaBuilder此代码:
- (NSImage *) imageFromRect: (NSRect) rect
{
NSAffineTransform * xform = [NSAffineTransform transform];
// translate reference frame to map rectangle 'rect' into first quadrant
[xform translateXBy: -rect.origin.x
yBy: -rect.origin.y];
NSSize canvas_size = [xform transformSize: rect.size];
NSImage * canvas = [[NSImage alloc] initWithSize: canvas_size];
[canvas lockFocus];
[xform concat];
// Get NSImageRep of image
NSImageRep * rep = [self bestRepresentationForDevice: nil];
[rep drawAtPoint: NSZeroPoint];
[canvas unlockFocus];
return [canvas autorelease];
}
这工作,但返回的NSImage中是模糊的,不再适用于印刷。有任何想法吗?
确保您正式发布或autoreleasePDF和theCroppedImage。 – 2009-02-07 02:06:55