Сохранение всего содержимого NSView, которое находится внутри NSScrollView - PullRequest
13 голосов
/ 02 марта 2012

Я пытаюсь сохранить содержимое NSView как изображение, но сохраняется только изображение, видимое внутри прокрутки.

Вот фактическое изображение, загруженное в виде: actual image.

Но вот как я могу сохранить изображение: saved image

Есть ли способ сохранить все изображение в NSView?

Вот как я могусохраняю свой подкласс NSView:

- (void)save
{
    [self lockFocus];
    NSBitmapImageRep* rep = [[NSBitmapImageRep alloc] initWithFocusedViewRect:[self bounds]];  
    [self unlockFocus];

    NSData* data = [rep representationUsingType:NSPNGFileType properties:nil];

    NSString* string = NSHomeDirectory();
    NSString* pth1 = [string stringByAppendingPathComponent:@"ttx.png"];

    [data writeToFile:pth1 atomically:YES];
}

Этот метод используется в представлении, которое я хочу сохранить.

1 Ответ

18 голосов
/ 03 марта 2012

Использование -[NSView cacheDisplayInRect:toBitmapImageRep:]

NSBitmapImageRep* rep = [self bitmapImageRepForCachingDisplayInRect:self.bounds];
[self cacheDisplayInRect:self.bounds toBitmapImageRep:rep];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...