В настоящее время я пытаюсь записать содержимое моего подкласса NSBox в файл PNG.Я нашел некоторый код, который, кажется, отлично справляется с задачей (код, который я вызываю из моего фактического подкласса):
[self lockFocus];
NSBitmapImageRep *rep = [self bitmapImageRepForCachingDisplayInRect:[self bounds]];
[self cacheDisplayInRect:[self bounds] toBitmapImageRep:rep];
[self unlockFocus];
NSData *imageData = [rep representationUsingType:NSPNGFileType properties:nil];
[imageData writeToFile:@"~/Desktop/test.png" atomically:NO];
Как я уже сказал, этот код работает довольно хорошо, но есть только одна маленькая проблема:NSBox на самом деле прозрачный, так что изображение выглядит очень странно для пользователя, который привык иметь по умолчанию беловато-серый фон.
Я не удачно вызвал это из своего основного AppDelegate.Это должно решить проблему, захватывая то, что стоит за NSBox, но это не работает для меня.
Кто-нибудь знает, как захватить что-нибудь за этим NSBox, а также его содержимое?