Topic: Looking for a project?
If someone's looking for a project to do, here's something we'd like to see written.
One thing that's holding us up on supporting local and LAN photos is that with some of the newer large-format cameras, the images are too large to render. For instance, a single 12M pixel image would take as much as 48MB of memory to build an image that can be subsequently scaled and rendered.
What we need is a simple command-line tool that will read, scale and output an image inline - reading just enough of the source image at any time to output scanlines. It be small, should use as little memory as possible, and be fast.
Ideally, this tool would take the most common images generated by cameras - JPEG, TIFF - and output JPEG. By default, the output image size would be 320x240, and it should take both input and output filenames with the option of using stdin and stdout. It should also have an option for filtered scaling, and JPEG output quality.
The license would have to be "GPL2 or later".
Something like:
imgscale (options)
-i <input file name, stdin by default>
-o <output file name, stdout by default>
-x <max output width, 320 by default>
-y <max output height, 240 by default>
-p preserve aspect ratio of input
-q <output quality, 0-100>
-f <filter quality 0=nearest neighbor, 1=bilinear, 2=bicubic>
-h help