SquarePusher is a macOS App that enables the editing of JPEG files in a manner that does not alter the original files image integrity. Often when saving an edited image, generational artifacts can be introduced.
The application is a GUI (Graphical User Interface) to the JPEGTRAN command line tool. JPEGTRAN supports many operations of which SquarePusher has implemented a subset. These include rotation (orthogonal), trim / crop, reflect / mirror, and desaturate / greyscale.
Editor Operations:
- Rotate – change the image orientation in 90º increments.
- Trim – crop to a smaller width / height area portion of overall image.
- Reflect – mirror ( left | right ) the original image layout.
- Desaturate – remove the color data from RGB / multi-channel image files.
Save Options:
- Drop / reset metadata – drops file data such as a image orientation, thumbnail, or EXIF metadata, that may be out of date for the edited version of image.
- Optimize file size – optimizes encoding parameters for a smaller (byte count) and more compact JPEG output file.
Editor Notes:
- When using the trim tool, you may hold down the Option Key to force snapping to the nearest grid block. When not rotated, the editor view’s bottom and right edges will be trim-able at the single pixel level, but you may force snap if desired.
- When the trim tool is enabled, you may hold down the Option Key and click the ‘Trim’ label to reset the crop mask to the original image dimensions. Note: this will also reset rotation to none / zero 0º degrees.
- Rotation and reflection operations may force trim / crop options to snap to the nearest block element (usually 8 or 16 pixels wide) for the editor view’s top and left sides.
- Trim / Crop operations will always require snap to the nearest block element for the editor view’s top and left sides.
Application Notes:
- Some Trackpad devices may have issues with the crop / mask tool. Has been tested as working with a recent Magic Trackpad. Please use a mouse if you encounter issues.
- For application performance, images larger than @275 megapixels will use a smaller ‘proxy’ image for display. It may take several seconds to generate the proxy image. This does not effect output quality as edits are applied to the original image data.
- SquarePusher saves intermediate versions when doing multiple edits. Please be patient when saving large images.
JPEGTRAN Notes:
- Input image size cannot be larger than 65,500 pixels per side [width/height]. The JPEG standard supports images up to 65,535 pixels per side, but JPEGTRAN does not natively support that upper limit.
- Some JPEG formats / color models are incompatible with the greyscale function. The desaturation tool is disabled in the editor when these are detected.
- These limitations may be addressed in future versions of SquarePusher.
Privacy Notes:
- All editing / processing is done locally on the users macOS computer. No image data / snapshots are taken / transmitted.