compute image difference & update reference images
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 883 B After Width: | Height: | Size: 884 B |
@ -12,7 +12,7 @@
|
||||
|
||||
<Style name="My Style">
|
||||
<Rule>
|
||||
<ShieldSymbolizer face-name="DejaVu Sans Book" size="16" placement="point" file="../data/svg/rect.svg" dx="0" dy="-5">'x'</ShieldSymbolizer>
|
||||
<ShieldSymbolizer face-name="DejaVu Sans Book" size="16" placement="point" file="../data/svg/rect.svg">'x'</ShieldSymbolizer>
|
||||
</Rule>
|
||||
</Style>
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
@ -5,6 +5,8 @@ import mapnik
|
||||
import cairo
|
||||
import sys
|
||||
import os.path
|
||||
import math, operator
|
||||
import Image
|
||||
|
||||
dirname = os.path.dirname(sys.argv[0])
|
||||
|
||||
@ -14,14 +16,45 @@ filenames_one_width = ["simple-E", "simple-NE", "simple-NW", "simple-N",
|
||||
"simple-SE", "simple-SW", "simple-S", "simple-W",
|
||||
"formating-1", "formating-2", "formating-3", "formating-4",
|
||||
"shieldsymbolizer-1", "expressionformat"]
|
||||
|
||||
|
||||
COMPUTE_THRESHOLD = 0
|
||||
|
||||
# returns true if pixels are not identical
|
||||
def compare_pixels(pixel1, pixel2):
|
||||
r_diff = abs(pixel1[0] - pixel2[0])
|
||||
g_diff = abs(pixel1[1] - pixel2[1])
|
||||
b_diff = abs(pixel1[2] - pixel2[2])
|
||||
if(r_diff > COMPUTE_THRESHOLD or g_diff > COMPUTE_THRESHOLD or b_diff > COMPUTE_THRESHOLD):
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
# compare tow images and return number of different pixels
|
||||
def compare(im1, im2):
|
||||
diff = 0
|
||||
pixels = im1.size[0] * im1.size[1]
|
||||
im1 = im1.getdata()
|
||||
im2 = im2.getdata()
|
||||
for i in range(3, pixels - 1, 3):
|
||||
if(compare_pixels(im1[i], im2[i])):
|
||||
diff = diff + 1
|
||||
return diff
|
||||
|
||||
def render(filename, width):
|
||||
print "Rendering style \"%s\" with width %d" % (filename, width)
|
||||
m = mapnik.Map(width, 100)
|
||||
mapnik.load_map(m, os.path.join(dirname, "%s.xml" % filename), False)
|
||||
bbox = mapnik.Box2d(-0.05, -0.01, 0.95, 0.01)
|
||||
m.zoom_to_box(bbox)
|
||||
mapnik.render_to_file(m, '%s-%d-agg.png' % (filename, width))
|
||||
im1 = Image.open('%s-%d-reference.png' % (filename, width))
|
||||
im2 = Image.open('%s-%d-agg.png' % (filename, width))
|
||||
diff = compare(im1, im2)
|
||||
if diff == 0:
|
||||
rms = 'ok'
|
||||
else:
|
||||
rms = 'error: %u different pixels' % diff
|
||||
|
||||
print "Rendering style \"%s\" with width %d ... %s" % (filename, width, rms)
|
||||
return m
|
||||
|
||||
if len(sys.argv) > 1:
|
||||
|
||||