Add support for image diffs.

Review Request #4493 — Created Aug. 27, 2013 and submitted — Latest diff uploaded

Information

Review Board
master

Reviewers

Add support for image diffs.

This greatly enhances the ImageReviewUI to support showing diffs between
images. When generating a binary diff between images, the Review UI will
provide several modes for viewing how the images changed.

The first mode is the Two-Up mode, which just shows the two images
side-by-side.

The second is the Difference mode, which shows a color-based difference
between the images. It's useful for spotting what pixels actually
changed between images, and what remained the same.

The third is the Split mode, which layers the two images and provides a
slider for showing how much of the modified image is visible, vs. the
original. The user can slide back-and-forth to see what changed between
the images.

The fourth is the Onion Skin mode, which layers the two images and
provides a transparency slider. This slider will alter the transparency
of the modified image. This makes it easy to see what pixels may have
moved, or other subtle changes to the image.

All modes allow commenting, and all comments are displayed on all modes.
The comment thumbnail for image diffs will show the commented regions of
the original and modified images side-by-side (similar to the Two-Up
mode).
Tested commenting on each of these modes.

Tested commenting outside the region of one image or another, and made
sure that didn't blow up (particularly when generating thumbnails).

Tested that thumbnails showed up correctly in the review dialog and in
published reviews.

Tested diffing images of different sizes.

Tested all the functionality for traditional image file attachments.

I have *not* tested with very large images. I expect this to be painful
to use, but have some plans to improve very large images in this review UI
in general, so I'm okay with that for now.