Mac OS Photography
A basic photo application which allows for zooming, panning, and framing of both image preview and capture from USB and built-in cameras. Image is cropped to the framed area when saved. Zooming is not limited to the center of the camera preview, especially useful when the camera is mounted on a tripod. Automatically detects all compatible attached cameras, even when added or removed during a session. User can select any device supported configuration involving compression, resolution, and frame rate range.
Use the [Control] in combination with the mouse left click to initiate a drag operation to frame the image free-hand. Alternatively, select one of the standard frame sizes from the dropdown. The frame is optionally adjustable when displayed. Click the crop/erase button to add or remove the frame at any time. Use the best-fit button to reset the image whether framed or not. Finally, there are options which allow or disallow the panning, zooming, framing, and adjusting of the image and frame.
Both the camera preview and captured image can be rotated in the four primary orientations; 0, 90, 180, and 270. This gives greater freedom in placing or mounting of cameras, as it is easy to obtain a right-side up image.
The application fully saves and restores the state of each camera connected, including the rotation, pan, zoom, and frame. If resolution is changed the image is reset but rotate is preserved. This makes scanning though multiple cameras simple. State information is restored between sessions.
Minor changes in the design with regards to the buttons in the lower right-hand corner of the dialog boxes; the [OK] button has been replaced by buttons which are more descriptive ([Save] and [Update]) and the order of these buttons relative to [Cancel] has been reversed to be more in compliance with other Apple products. One bug related to a non-adjusting frame which occurs during application resize has been corrected; the frame was not resizing properly. Finally, the expected mouse icon is now shown reliably when moving over the constraints (switching to an open-hand); this was an issue after the application window was resized with certain constraints.