Re: Creating an NSImage of a View and its Contents
Re: Creating an NSImage of a View and its Contents
- Subject: Re: Creating an NSImage of a View and its Contents
- From: Corbin Dunn <email@hidden>
- Date: Tue, 21 Dec 2010 13:10:10 -0800
I'll just copy the code here for you:
NSRect visibleRect = [_oldContentView visibleRect];
NSBitmapImageRep *imageRep = [_oldContentView bitmapImageRepForCachingDisplayInRect:visibleRect];
[_oldContentView cacheDisplayInRect:visibleRect toBitmapImageRep:imageRep];
http://developer.apple.com/library/mac/#samplecode/AnimatedTableView/Listings/ATPopupWindow_m.html
corbin
On Dec 21, 2010, at 1:08 PM, Corbin Dunn wrote:
> Hi Stephen,
> This was done in the AnimatedTableView demo app available on the dev site. Check it out and let me know if you need pointing to the particular part of code that does it.
>
> corbin
>
> On Dec 21, 2010, at 12:11 PM, Stephen Blinkhorn wrote:
>
>> Hi all,
>>
>> I'm trying to capture a view and its contents as an NSImage which I can subsequently draw in the view. The idea is that I'm trying to 'freeze' the view's content (custom sliders, buttons, menus etc) and present this image in the view.
>>
>> I'm getting mixed results when attempting to render to a CFLayerRef e.g.:
>>
>> NSRect viewRect = [self bounds];
>>
>> [self lockFocus];
>> NSBitmapImageRep* rep = [[NSBitmapImageRep alloc] initWithFocusedViewRect:viewRect];
>> [self unlockFocus];
>>
>> NSImage* image = [[NSImage alloc] initWithSize:viewRect.size];
>> [image addRepresentation:rep];
>> [image drawAtPoint:NSZeroPoint fromRect:viewRect operation:NSCompositeSourceOver fraction:1.0];
>>
>> [image release];
>> [rep release];
>>
>>
>> Nothing appears to be drawn in the layer. Is there a better approach that I'm missing?
>>
>> Thanks,
>> Stephen
>> _______________________________________________
>>
>> Cocoa-dev mailing list (email@hidden)
>>
>> Please do not post admin requests or moderator comments to the list.
>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>>
>> Help/Unsubscribe/Update your Subscription:
>>
>> This email sent to email@hidden
>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden