У меня есть очень простой бит кода, который должен захватывать растровое изображение вида. Это использовалось для работы в Leopard, но кажется ужасно разбитым в Snow Leopard.Почему bitmapImageRepForCachingDisplayInRect: создание пустого изображения?
Вот код, в ответ на нажатие кнопки на окне:
- (IBAction)snapshot:(id)sender
{
NSView* view = [[sender window] contentView];
NSBitmapImageRep* bitmap
= [view bitmapImageRepForCachingDisplayInRect:[view bounds]];
NSData *tiff = [bitmap TIFFRepresentation];
[tiff writeToFile:[@"~/Desktop/snapshot.tiff" stringByExpandingTildeInPath]
atomically:YES];
}
При нажатии на кнопку, чтобы сделать снимок только приводит к полной прозрачности изображения.
Я просто совершенно незнакомый здесь, или этот метод растрового кэширования сломан?
Простой проект - в основном проект NSDocument стартера с кнопкой, вызывающей этот код, - можно найти here.