当前位置:  开发笔记 > IOS > 正文

NSImage - 裁剪后PDF模糊

如何解决《NSImage-裁剪后PDF模糊》经验,为你挑选了1个好方法。

我正在尝试裁剪包含PDF的NSImage.在打印时我正在使用NSImage的drawInRect来让它只绘制我需要的东西 - 而且效果很好.

但是,现在我正试图创建一个仅裁剪区域的新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模糊,不再适合打印.有任何想法吗?



1> Peter Hosey..:

lockFocus/ unlockFocus对图像的缓存执行光栅绘制.这就是为什么它"模糊" - 低分辨率和可能错误注册.你需要矢量绘图.

使用PDF工具包.首先,将每页的裁剪框设置为矩形.然后,您应该能够从dataRepresentationPDFDocument 创建裁剪的NSImage .

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有