0

我正在尝试获取视图的图像,因此我可以将其放入NSImageView.

我正在使用NSViewsbitmapImageRepForCachingDisplayInRect:方法。
但是,此方法只返回视图的内容,没有窗口的背景。

如何获得整个视图的图像,就像它在屏幕上的样子,背景颜色等?


当前代码

- (NSImage *)imageOfView:(NSView *)view {
    NSBitmapImageRep* rep = [view bitmapImageRepForCachingDisplayInRect:view.bounds];
    [view cacheDisplayInRect:view.frame toBitmapImageRep:rep];

    return [[NSImage alloc] initWithCGImage:[rep CGImage] size:view.bounds.size];
}
4

1 回答 1

1

来自项目的这份声明

/* Get the index for the chosen display from the CGDirectDisplayID array. */
NSInteger displaysIndex = [menuItem tag];
/* Make a snapshot image of the current display. */
CGImageRef image = CGDisplayCreateImage(displays[displaysIndex]);
于 2013-03-21T09:14:11.367 回答