On 9 Jun 2013, at 08:57, Kyle Sluder <k...@ksluder.com> wrote: > On Jun 8, 2013, at 5:39 PM, "Gerriet M. Denkmann" <gerr...@mdenkmann.de> > wrote: > >> >> On 9 Jun 2013, at 06:23, Jens Alfke <j...@mooseyard.com> wrote: >> >>> >>> On Jun 8, 2013, at 12:24 PM, Ken Thomases <k...@codeweavers.com> wrote: >>> >>>> I haven't done the experiment, but I don't believe this is necessarily >>>> true. NSBitmapImageRep is documented (in the Snow Leopard release notes) >>>> as keeping the original image data and not re-encoding or exploding file >>>> sizes on being saved. >>> >>> I did not know this — guess I haven’t been reading the release notes >>> closely enough. >> >> url = some/picture.gif >> NSDataReadingOptions mask = 0; // NSDataReadingUncached >> NSData *data = [ NSData dataWithContentsOfURL: url options: mask error: >> &outError ]; >> got 19420 bytes >> >> NSImage *image = [ [ NSImage alloc ] initWithContentsOfURL: url ]; >> BOOL ok = [ NSArchiver archiveRootObject: image toFile: @"/tmp/anImage" ]; >> got 307559 bytes (NSKeyedArchiver adds another half kB) >> >> This 16-fold increase of data is - regardless of image quality - not >> acceptable for my purposes. > > This is why you don't use NSArchiver for data blobs: it writes them out as > Base64-encoded plist strings.
My gif-image has only one representation: "NSBitmapImageRep 0x109cdf610 Size={320, 320} ColorSpace=Device RGB colorspace BPS=8 BPP=32 Pixels=320x320 Alpha=NO Planar=NO Format=0 CurrentBacking=<CGImageRef: 0x10c878eb0> CGImageSource=0x116e02580" And the archive contains (among a few other things, like an NSColor) an NSBitmapImageRep, which contains a characterArray of 307394 chars = 3 * 320 * 320 + 194. This is the archiver format, not the property list format. So it seems that in initialising my image with gif-data, the original data was somehow lost. And when I do: NSArray *imageReps = [ self.imageView.image representations]; NSData *gifData = [ NSBitmapImageRep representationOfImageRepsInArray: imageReps usingType: NSGIFFileType properties: nil ]; it gets smaller indeed. From 19k to about 3k -- But: while the original was an animated gif, the new gifData is no longer animated. Not very useful to me. I looked at the properties parameter, but did not see anything relating to animation. Kind regards, Gerriet. _______________________________________________ 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