4
我有一個非常簡單的代碼應該捕捉視圖的位圖。這曾經在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。