X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=scripts%2Fsnapdiff.py;h=59ec870ea06954eee1f5ca69f9297d5c42ee3f2d;hb=beda4440ab82ed4e8f7568fd5a19d8d595b748a3;hp=291b2da9425d71e4e075bec9d66fb049fd018daa;hpb=ae3981a47606435ed5d3567384d96c07f8d01131;p=apitrace diff --git a/scripts/snapdiff.py b/scripts/snapdiff.py index 291b2da..59ec870 100755 --- a/scripts/snapdiff.py +++ b/scripts/snapdiff.py @@ -42,7 +42,7 @@ from PIL import ImageEnhance from PIL import ImageFilter -thumb_size = 320, 320 +thumbSize = 320 gaussian_kernel = ImageFilter.Kernel((3, 3), [1, 2, 1, 2, 4, 2, 1, 2, 1], 16) @@ -71,6 +71,9 @@ class Comparer: return self.ref_im.size != self.src_im.size def write_diff(self, diff_image, fuzz = 0.05): + if self.size_mismatch(): + return + # make a difference image similar to ImageMagick's compare utility mask = ImageEnhance.Brightness(self.diff).enhance(1.0/fuzz) mask = mask.convert('L') @@ -119,7 +122,18 @@ def surface(html, image): and (not os.path.exists(thumb) \ or os.path.getmtime(thumb) < os.path.getmtime(image)): im = Image.open(image) - im.thumbnail(thumb_size) + imageWidth, imageHeight = im.size + if imageWidth <= thumbSize and imageHeight <= thumbSize: + if imageWidth >= imageHeight: + imageHeight = imageHeight*thumbSize/imageWidth + imageWidth = thumbSize + else: + imageWidth = imageWidth*thumbSize/imageHeight + imageHeight = thumbSize + html.write('
File | %s | %s | Δ |
---|---|---|---|
%s | \n' % (image,)) - surface(html, ref_image) - surface(html, src_image) - surface(html, delta_image) + html.write('%s | \n' % (bgcolor, ref_image, image)) + if not match or options.show_all: + if options.overwrite \ + or not os.path.exists(delta_image) \ + or (os.path.getmtime(delta_image) < os.path.getmtime(ref_image) \ + and os.path.getmtime(delta_image) < os.path.getmtime(src_image)): + comparer.write_diff(delta_image, fuzz=options.fuzz) + surface(html, ref_image) + surface(html, src_image) + surface(html, delta_image) html.write('