Skip navigation.
 
mlRe: Thread safe?
FROM : Trygve Inda
DATE : Sat Mar 29 20:20:56 2008

> Yes.  See
>
> http://www.cocoabuilder.com/archive/message/cocoa/2007/11/15/193191
>
> ISTR having problems specifying a nonzero bytesPerRow and passing NULL
> for the bitmap data, so you might need to either manage the buffer
> yourself or pass zero for bytesPerRow to allow NSBitmapImageRep to pad
> it appropriately.


Many thanks.

>>
>>    [segImageRep dealloc];


> You should never call dealloc directly (well, unless you've overridden
> -retain/-release to handle your own refcounting).


Good catch!

>> How about:
>>
>> NSImage *    image = [[[NSImage alloc] initWithContentsOfFile:path]
>> autorelease];
>>
>>    [NSGraphicsContext saveGraphicsState];
>>    [NSGraphicsContext setCurrentContext:[NSGraphicsContext
>> graphicsContextWithBitmapImageRep:segImageRep]];
>>
>>    [image drawInRect:NSMakeRect(0, 0, [image size].width, [image
>> size].height) fromRect:NSMakeRect(0, 0, [image size].width, [image
>> size].height) operation:NSCompositeCopy fraction:1.0];
>>
>>    [NSGraphicsContext restoreGraphicsState];

>
> Drawing into an NSImage is explicitly documented to be thread safe in
> the article you linked to,


I guess I was more concerned with the initWithContentsOfFile:path

> and each thread has its own graphics
> context.  The post I linked to does indicate that you might want to
> use [image setCacheMode:NSImageCacheNever].  If your goal is just to
> get an NSBitmapImageRep from a file, it's probably easier just to use
> +imageRepWithContentsOfFile:.


This could work, but as I need to do pixel level manipulation, I really need
to know the exact format of the bitmap and this does not seem to let me
specify it.

Cheers,

Trygve

Related mailsAuthorDate
mlThread safe? Trygve Inda Mar 29, 14:44
mlRe: Thread safe? Jens Alfke Mar 29, 18:05
mlRe: Thread safe? Adam R. Maxwell Mar 29, 18:54
mlRe: Thread safe? Trygve Inda Mar 29, 20:20
mlRe: Thread safe? Adam R. Maxwell Mar 29, 20:48
mlRe: Thread safe? Thomas Engelmeier Mar 30, 15:10
mlRe: Thread safe? Adam R. Maxwell Mar 30, 17:01
mlRe: Thread safe? Trygve Inda Mar 30, 17:34
mlRe: Thread safe? Jens Alfke Mar 30, 19:02
mlRe: Thread safe? glenn andreas Mar 30, 19:14
mlRe: Thread safe? Trygve Inda Mar 30, 22:21
mlRe: Thread safe? glenn andreas Mar 30, 22:35
mlRe: Thread safe? Thomas Engelmeier Mar 31, 12:30