On 10 Mar 2013, at 08:05, Markus Spoettl <ms_li...@shiftoption.com> wrote:
> On 3/10/13 1:55 AM, Mike Abdullah wrote: > > Well that exception suggests you have a truly giant image on your hands. > > Perhaps there's enough memory to do some work with it, but not all. > > I was trying to say that the framework appears to be confusing the size. The > image itself is being serialized from and to archives and displayed on > screen. Unfortunately I don't have the data, but I assume it's an "normal" > sized image. > > > The most important question: what are you actually calling > > -TIFFRepresentation for? In practice it's often a rather inefficient method > > to accomplish your end goal. > > I'm using -TIFFRepresentation to produce a PNG representation. The are more > efficient ways to do that, I'm sure, but it generally seems to be working > fine: > > NSData *tiff = [image TIFFRepresentation]; > NSBitmapImageRep *bmprep = [NSBitmapImageRep imageRepWithData:tiff]; > NSDictionary *props = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber > numberWithBool:NO], NSImageInterlaced, nil]; > NSData *pngData = [bmprep representationUsingType:NSPNGFileType > properties:props]; This is a massively wasteful approach. Likely the best compromise for your needs is to grab a CGImage from the NSImage, and then generate the PNG from that (either using NSBitmapImageRep or CGImageDestination). This takes care of only creating a fresh CGImage instance if actually needed. _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com