Posted: 2006-03-02T22:21:26-07:00
IM provides no such method.
The problem is that IM has no way of known just how big the final image size on disk will be given the various compressions, quality, image size, color space, and file format the image is actually using. It is imposible to pre-determine, except posibly as a guess-timate, or actually doing it.
All image programs have this problem and none have an exact solution, eacept via guessing and hoping for the best.
The only way is to try writting the file either to disk, or in an API to a 'blob', then get IM to fiddle the parameters, and try again until you get the size you want.
PNG format has a program called 'pngcrush' that trys saving a png image in various way until it gets the smallest version posible, Of course png is loss-less so that is fine.
JPG has no such program available, though it would be easy to write one to find the best JPEG quailty for a given size, from some loss-less image input.
Perhaps someone can write a perlMagick API to do this for you.
The problem is that IM has no way of known just how big the final image size on disk will be given the various compressions, quality, image size, color space, and file format the image is actually using. It is imposible to pre-determine, except posibly as a guess-timate, or actually doing it.
All image programs have this problem and none have an exact solution, eacept via guessing and hoping for the best.
The only way is to try writting the file either to disk, or in an API to a 'blob', then get IM to fiddle the parameters, and try again until you get the size you want.
PNG format has a program called 'pngcrush' that trys saving a png image in various way until it gets the smallest version posible, Of course png is loss-less so that is fine.
JPG has no such program available, though it would be easy to write one to find the best JPEG quailty for a given size, from some loss-less image input.
Perhaps someone can write a perlMagick API to do this for you.