I am coming from a .NET C# background, so I have some expectations that might not apply to Cocoa development. In .NET, I can incrementally compress an image like this: A = new Image(data) B = A.save(JPEGType, 0.5) C = B.save(JPEGType, 0.5)
where the sizes A > B > C and the deltas are significant. I can do this if B is saved to disk and reload back. So if I am given an NSImage, but not the backing NSData directly, can I ask the NSImage, NSImageRep or something else to give me information about the original data, filetype, compression factor ? Phi On Fri, Nov 20, 2009 at 2:05 PM, Jens Alfke <j...@mooseyard.com> wrote: > > On Nov 20, 2009, at 1:47 PM, Phi Le wrote: > > I have an jpeg image and I want to be able to incrementally compress > it using Cocoa/Core Image/Core Graphics. For example, I have A.jpg > (3MB), I compress A and get B.jpg (1MB), compress B and get C.jpg > (400KB), and so on till the image can't be compressed anymore. > > What you're doing doesn't make sense; image compression doesn't work that > way. If you JPEG-encode a pixmap, then load it back into an image, you have > another pixmap. Compressing the resulting pixmap isn't going to result in > smaller data just because you decompressed it from a smaller block of data. > If you want to experiment with progressively greater and greater compression > levels, you have to start with the same source pixmap every time and > gradually decrease the compression factor. (For example, I did this in iChat > to compress the user's buddy icon down to under 2K to fit in a Bonjour > record. There's a loop that keeps increasing the compression factor until > the data size is small enough.) > —Jens _______________________________________________ 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com