more diffVs
This commit is contained in:
parent
6699dabbb4
commit
0f9358f013
4 changed files with 76 additions and 73 deletions
|
@ -1,4 +1,4 @@
|
|||
import chroma, pixie, pixie/internal, vmath
|
||||
import chroma, pixie, pixie/internal, vmath, utils
|
||||
|
||||
block:
|
||||
let image = newImage(10, 10)
|
||||
|
@ -45,77 +45,77 @@ block:
|
|||
|
||||
a.draw(b)
|
||||
|
||||
a.writeFile("tests/images/flipped1.png")
|
||||
a.diffVs("tests/images/flipped1.png")
|
||||
a.flipVertical()
|
||||
a.writeFile("tests/images/flipped2.png")
|
||||
a.diffVs("tests/images/flipped2.png")
|
||||
a.flipHorizontal()
|
||||
a.writeFile("tests/images/flipped3.png")
|
||||
a.diffVs("tests/images/flipped3.png")
|
||||
|
||||
block:
|
||||
let
|
||||
a = readImage("tests/images/flipped1.png")
|
||||
b = a.superImage(-10, 0, 20, 20)
|
||||
b.writeFile("tests/images/superimage1.png")
|
||||
b.diffVs("tests/images/superimage1.png")
|
||||
|
||||
block:
|
||||
let
|
||||
a = readImage("tests/images/flipped1.png")
|
||||
b = a.superImage(-10, -10, 20, 20)
|
||||
b.writeFile("tests/images/superimage2.png")
|
||||
b.diffVs("tests/images/superimage2.png")
|
||||
|
||||
block:
|
||||
let
|
||||
a = readImage("tests/images/flipped1.png")
|
||||
b = a.superImage(90, 0, 120, 120)
|
||||
b.writeFile("tests/images/superimage3.png")
|
||||
b.diffVs("tests/images/superimage3.png")
|
||||
|
||||
block:
|
||||
let
|
||||
a = readImage("tests/images/flipped1.png")
|
||||
b = a.superImage(90, 90, 120, 120)
|
||||
b.writeFile("tests/images/superimage4.png")
|
||||
b.diffVs("tests/images/superimage4.png")
|
||||
|
||||
block:
|
||||
let
|
||||
a = readImage("tests/images/flipped1.png")
|
||||
b = a.superImage(-10, -10, 120, 120)
|
||||
b.writeFile("tests/images/superimage5.png")
|
||||
b.diffVs("tests/images/superimage5.png")
|
||||
|
||||
block:
|
||||
let
|
||||
a = readImage("tests/images/flipped1.png")
|
||||
b = a.superImage(45, 45, 20, 20)
|
||||
b.writeFile("tests/images/superimage6.png")
|
||||
b.diffVs("tests/images/superimage6.png")
|
||||
|
||||
block:
|
||||
let
|
||||
a = readImage("tests/images/flipped1.png")
|
||||
b = a.minifyBy2()
|
||||
b.writeFile("tests/images/minifiedBy2.png")
|
||||
b.diffVs("tests/images/minifiedBy2.png")
|
||||
|
||||
block:
|
||||
let
|
||||
a = readImage("tests/images/minifiedBy2.png")
|
||||
b = a.magnifyBy2()
|
||||
b.writeFile("tests/images/magnifiedBy2.png")
|
||||
b.diffVs("tests/images/magnifiedBy2.png")
|
||||
|
||||
block:
|
||||
let
|
||||
a = readImage("tests/images/flipped1.png")
|
||||
b = a.minifyBy2(2)
|
||||
b.writeFile("tests/images/minifiedBy4.png")
|
||||
b.diffVs("tests/images/minifiedBy4.png")
|
||||
|
||||
block:
|
||||
let
|
||||
a = readImage("tests/images/minifiedBy4.png")
|
||||
b = a.magnifyBy2(2)
|
||||
b.writeFile("tests/images/magnifiedBy4.png")
|
||||
b.diffVs("tests/images/magnifiedBy4.png")
|
||||
|
||||
block:
|
||||
let
|
||||
a = readImage("tests/fileformats/png/mandrill.png")
|
||||
b = a.minifyBy2()
|
||||
b.writeFile("tests/images/minifiedMandrill.png")
|
||||
b.diffVs("tests/images/minifiedMandrill.png")
|
||||
|
||||
block:
|
||||
let a = newImage(100, 100)
|
||||
|
@ -129,7 +129,7 @@ block:
|
|||
ctx.image.fill(rgba(0, 0, 0, 255))
|
||||
ctx.fillRect(rect(25, 25, 50, 50), )
|
||||
ctx.image.blur(20)
|
||||
ctx.image.writeFile("tests/images/imageblur20.png")
|
||||
ctx.image.diffVs("tests/images/imageblur20.png")
|
||||
|
||||
block:
|
||||
let ctx = newContext(100, 100)
|
||||
|
@ -137,7 +137,7 @@ block:
|
|||
ctx.image.fill(rgba(0, 0, 0, 255))
|
||||
ctx.fillRect(rect(25, 25, 50, 50))
|
||||
ctx.image.blur(20, rgba(0, 0, 0, 255))
|
||||
ctx.image.writeFile("tests/images/imageblur20oob.png")
|
||||
ctx.image.diffVs("tests/images/imageblur20oob.png")
|
||||
|
||||
block: # Test conversion between image and mask
|
||||
let
|
||||
|
@ -163,7 +163,7 @@ block:
|
|||
let image = newImage(100, 100)
|
||||
image.fillPath(p, rgba(255, 0, 0, 255))
|
||||
|
||||
newImage(newMask(image)).writeFile("tests/images/mask2image.png")
|
||||
newImage(newMask(image)).diffVs("tests/images/mask2image.png")
|
||||
|
||||
block:
|
||||
let image = newImage(100, 100)
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
import pixie, strformat
|
||||
import pixie, strformat, utils
|
||||
|
||||
proc doDiff(rendered: Image, name: string) =
|
||||
rendered.writeFile(&"tests/images/rendered/{name}.png")
|
||||
rendered.diffVs(&"tests/images/rendered/{name}.png")
|
||||
let
|
||||
master = readImage(&"tests/images/masters/{name}.png")
|
||||
(diffScore, diffImage) = diff(master, rendered)
|
||||
echo &"{name} score: {diffScore}"
|
||||
diffImage.writeFile(&"tests/images/diffs/{name}.png")
|
||||
diffImage.diffVs(&"tests/images/diffs/{name}.png")
|
||||
|
||||
block:
|
||||
let
|
||||
|
@ -16,7 +16,7 @@ block:
|
|||
b.fill(rgba(0, 255, 0, 255))
|
||||
|
||||
a.draw(b, translate(vec2(250, 250)))
|
||||
a.writeFile("tests/images/rotate0.png")
|
||||
a.diffVs("tests/images/rotate0.png")
|
||||
|
||||
block:
|
||||
let
|
||||
|
@ -26,7 +26,7 @@ block:
|
|||
b.fill(rgba(0, 255, 0, 255))
|
||||
|
||||
a.draw(b, translate(vec2(250, 250)) * rotate(90 * PI.float32 / 180))
|
||||
a.writeFile("tests/images/rotate90.png")
|
||||
a.diffVs("tests/images/rotate90.png")
|
||||
|
||||
block:
|
||||
let
|
||||
|
@ -36,7 +36,7 @@ block:
|
|||
b.fill(rgba(0, 255, 0, 255))
|
||||
|
||||
a.draw(b, translate(vec2(250, 250)) * rotate(180 * PI.float32 / 180))
|
||||
a.writeFile("tests/images/rotate180.png")
|
||||
a.diffVs("tests/images/rotate180.png")
|
||||
|
||||
block:
|
||||
let
|
||||
|
@ -46,7 +46,7 @@ block:
|
|||
b.fill(rgba(0, 255, 0, 255))
|
||||
|
||||
a.draw(b, translate(vec2(250, 250)) * rotate(270 * PI.float32 / 180))
|
||||
a.writeFile("tests/images/rotate270.png")
|
||||
a.diffVs("tests/images/rotate270.png")
|
||||
|
||||
block:
|
||||
let
|
||||
|
@ -56,14 +56,14 @@ block:
|
|||
b.fill(rgba(0, 255, 0, 255))
|
||||
|
||||
a.draw(b, translate(vec2(250, 250)) * rotate(360 * PI.float32 / 180))
|
||||
a.writeFile("tests/images/rotate360.png")
|
||||
a.diffVs("tests/images/rotate360.png")
|
||||
|
||||
block:
|
||||
let ctx = newContext(100, 100)
|
||||
ctx.fillStyle = rgba(255, 255, 0, 255)
|
||||
ctx.image.fill(rgba(0, 255, 255, 255))
|
||||
ctx.fillRect(rect(vec2(10, 10), vec2(30, 30)))
|
||||
ctx.image.writeFile("tests/images/drawRect.png")
|
||||
ctx.image.diffVs("tests/images/drawRect.png")
|
||||
|
||||
block:
|
||||
let ctx = newContext(100, 100)
|
||||
|
@ -71,14 +71,14 @@ block:
|
|||
ctx.lineWidth = 10
|
||||
ctx.image.fill(rgba(0, 255, 255, 255))
|
||||
ctx.strokeRect(rect(vec2(10, 10), vec2(30, 30)))
|
||||
ctx.image.writeFile("tests/images/strokeRect.png")
|
||||
ctx.image.diffVs("tests/images/strokeRect.png")
|
||||
|
||||
block:
|
||||
let ctx = newContext(100, 100)
|
||||
ctx.fillStyle = rgba(255, 255, 0, 255)
|
||||
ctx.image.fill(rgba(0, 255, 255, 255))
|
||||
ctx.fillRoundedRect(rect(vec2(10, 10), vec2(30, 30)), 10)
|
||||
ctx.image.writeFile("tests/images/drawRoundedRect.png")
|
||||
ctx.image.diffVs("tests/images/drawRoundedRect.png")
|
||||
|
||||
block:
|
||||
let ctx = newContext(100, 100)
|
||||
|
@ -86,7 +86,7 @@ block:
|
|||
ctx.lineWidth = 10
|
||||
ctx.image.fill(rgba(0, 255, 255, 255))
|
||||
ctx.strokeRoundedRect(rect(vec2(10, 10), vec2(30, 30)), 10)
|
||||
ctx.image.writeFile("tests/images/strokeRoundedRect.png")
|
||||
ctx.image.diffVs("tests/images/strokeRoundedRect.png")
|
||||
|
||||
block:
|
||||
let ctx = newContext(100, 100)
|
||||
|
@ -94,14 +94,14 @@ block:
|
|||
ctx.lineWidth = 10
|
||||
ctx.image.fill(rgba(0, 255, 255, 255))
|
||||
ctx.strokeSegment(segment(vec2(10, 10), vec2(90, 90)))
|
||||
ctx.image.writeFile("tests/images/drawSegment.png")
|
||||
ctx.image.diffVs("tests/images/drawSegment.png")
|
||||
|
||||
block:
|
||||
let ctx = newContext(100, 100)
|
||||
ctx.fillStyle = rgba(255, 255, 0, 255)
|
||||
ctx.image.fill(rgba(0, 255, 255, 255))
|
||||
ctx.fillEllipse(vec2(50, 50), 25, 25)
|
||||
ctx.image.writeFile("tests/images/drawEllipse.png")
|
||||
ctx.image.diffVs("tests/images/drawEllipse.png")
|
||||
|
||||
block:
|
||||
let ctx = newContext(100, 100)
|
||||
|
@ -109,14 +109,14 @@ block:
|
|||
ctx.lineWidth = 10
|
||||
ctx.image.fill(rgba(0, 255, 255, 255))
|
||||
ctx.strokeEllipse(vec2(50, 50), 25, 25)
|
||||
ctx.image.writeFile("tests/images/strokeEllipse.png")
|
||||
ctx.image.diffVs("tests/images/strokeEllipse.png")
|
||||
|
||||
block:
|
||||
let ctx = newContext(100, 100)
|
||||
ctx.fillStyle = rgba(255, 255, 0, 255)
|
||||
ctx.image.fill(rgba(0, 255, 255, 255))
|
||||
ctx.fillPolygon(vec2(50, 50), 30, 6)
|
||||
ctx.image.writeFile("tests/images/drawPolygon.png")
|
||||
ctx.image.diffVs("tests/images/drawPolygon.png")
|
||||
|
||||
block:
|
||||
let ctx = newContext(100, 100)
|
||||
|
@ -124,7 +124,7 @@ block:
|
|||
ctx.lineWidth = 10
|
||||
ctx.image.fill(rgba(0, 255, 255, 255))
|
||||
ctx.strokePolygon(vec2(50, 50), 30, 6)
|
||||
ctx.image.writeFile("tests/images/strokePolygon.png")
|
||||
ctx.image.diffVs("tests/images/strokePolygon.png")
|
||||
|
||||
block:
|
||||
let
|
||||
|
@ -134,7 +134,7 @@ block:
|
|||
b.fill(rgba(0, 255, 0, 255))
|
||||
|
||||
a.draw(b, translate(vec2(250, 250)) * scale(vec2(0.5, 0.5)))
|
||||
a.writeFile("tests/images/scaleHalf.png")
|
||||
a.diffVs("tests/images/scaleHalf.png")
|
||||
|
||||
block:
|
||||
let
|
||||
|
@ -286,7 +286,7 @@ block:
|
|||
strokeImage.strokePath(pathStr, color(1, 1, 1, 1), strokeWidth = 4)
|
||||
image.draw(strokeImage)
|
||||
|
||||
image.writeFile("tests/images/fillOptimization.png")
|
||||
image.diffVs("tests/images/fillOptimization.png")
|
||||
doAssert image[10, 10] == rgbx(255, 127, 63, 255)
|
||||
|
||||
block:
|
||||
|
@ -314,4 +314,4 @@ block:
|
|||
|
||||
a.draw(b, translate(translation))
|
||||
|
||||
a.writeFile("tests/images/fillOptimization2.png")
|
||||
a.diffVs("tests/images/fillOptimization2.png")
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import pixie
|
||||
import pixie, utils
|
||||
|
||||
block:
|
||||
let mask = newMask(100, 100)
|
||||
|
@ -34,13 +34,13 @@ block:
|
|||
|
||||
doAssert minified.width == 50 and minified.height == 50
|
||||
|
||||
minified.writeFile("tests/masks/maskMinified.png")
|
||||
minified.diffVs("tests/masks/maskMinified.png")
|
||||
|
||||
block:
|
||||
let
|
||||
a = readImage("tests/masks/maskMinified.png")
|
||||
b = a.magnifyBy2()
|
||||
b.writeFile("tests/masks/maskMagnified.png")
|
||||
b.diffVs("tests/masks/maskMagnified.png")
|
||||
|
||||
block:
|
||||
let image = newImage(100, 100)
|
||||
|
@ -53,7 +53,7 @@ block:
|
|||
mask.fillPath(path)
|
||||
|
||||
image.draw(mask)
|
||||
image.writeFile("tests/masks/circleMask.png")
|
||||
image.diffVs("tests/masks/circleMask.png")
|
||||
|
||||
block:
|
||||
let a = newMask(100, 100)
|
||||
|
@ -66,7 +66,7 @@ block:
|
|||
b.fillPath(path)
|
||||
|
||||
a.draw(b)
|
||||
a.writeFile("tests/masks/maskedMask.png")
|
||||
a.diffVs("tests/masks/maskedMask.png")
|
||||
|
||||
block:
|
||||
let a = newMask(100, 100)
|
||||
|
@ -79,7 +79,7 @@ block:
|
|||
b.fillPath(path, rgba(0, 0, 0, 255))
|
||||
|
||||
a.draw(b)
|
||||
a.writeFile("tests/masks/imageMaskedMask.png")
|
||||
a.diffVs("tests/masks/imageMaskedMask.png")
|
||||
|
||||
block:
|
||||
let path = newPath()
|
||||
|
@ -90,7 +90,7 @@ block:
|
|||
|
||||
a.spread(10)
|
||||
|
||||
a.writeFile("tests/masks/spread.png")
|
||||
a.diffVs("tests/masks/spread.png")
|
||||
|
||||
block:
|
||||
let path = newPath()
|
||||
|
@ -101,7 +101,7 @@ block:
|
|||
|
||||
a.spread(-5)
|
||||
|
||||
a.writeFile("tests/masks/negativeSpread.png")
|
||||
a.diffVs("tests/masks/negativeSpread.png")
|
||||
|
||||
block:
|
||||
let mask = newMask(100, 100)
|
||||
|
@ -112,7 +112,7 @@ block:
|
|||
mask.fillPath(path)
|
||||
mask.ceil()
|
||||
|
||||
mask.writeFile("tests/masks/circleMaskSharpened.png")
|
||||
mask.diffVs("tests/masks/circleMaskSharpened.png")
|
||||
|
||||
block:
|
||||
let path = newPath()
|
||||
|
@ -120,7 +120,7 @@ block:
|
|||
|
||||
let mask = newMask(100, 100)
|
||||
mask.fillPath(path)
|
||||
mask.writeFile("tests/masks/drawRect.png")
|
||||
mask.diffVs("tests/masks/drawRect.png")
|
||||
|
||||
block:
|
||||
let path = newPath()
|
||||
|
@ -128,7 +128,7 @@ block:
|
|||
|
||||
let mask = newMask(100, 100)
|
||||
mask.strokePath(path, strokeWidth = 10)
|
||||
mask.writeFile("tests/masks/strokeRect.png")
|
||||
mask.diffVs("tests/masks/strokeRect.png")
|
||||
|
||||
block:
|
||||
let path = newPath()
|
||||
|
@ -136,14 +136,14 @@ block:
|
|||
|
||||
let mask = newMask(100, 100)
|
||||
mask.fillPath(path)
|
||||
mask.writeFile("tests/masks/drawRoundedRect.png")
|
||||
mask.diffVs("tests/masks/drawRoundedRect.png")
|
||||
|
||||
block:
|
||||
let path = newPath()
|
||||
path.roundedRect(rect(vec2(10, 10), vec2(30, 30)), 10, 10, 10, 10)
|
||||
let mask = newMask(100, 100)
|
||||
mask.strokePath(path, strokeWidth = 10)
|
||||
mask.writeFile("tests/masks/strokeRoundedRect.png")
|
||||
mask.diffVs("tests/masks/strokeRoundedRect.png")
|
||||
|
||||
block:
|
||||
let path = newPath()
|
||||
|
@ -152,7 +152,7 @@ block:
|
|||
|
||||
let mask = newMask(100, 100)
|
||||
mask.strokePath(path, strokeWidth = 10)
|
||||
mask.writeFile("tests/masks/drawSegment.png")
|
||||
mask.diffVs("tests/masks/drawSegment.png")
|
||||
|
||||
block:
|
||||
let path = newPath()
|
||||
|
@ -160,7 +160,7 @@ block:
|
|||
|
||||
let mask = newMask(100, 100)
|
||||
mask.fillPath(path)
|
||||
mask.writeFile("tests/masks/drawEllipse.png")
|
||||
mask.diffVs("tests/masks/drawEllipse.png")
|
||||
|
||||
block:
|
||||
let path = newPath()
|
||||
|
@ -168,7 +168,7 @@ block:
|
|||
|
||||
let mask = newMask(100, 100)
|
||||
mask.strokePath(path, strokeWidth = 10)
|
||||
mask.writeFile("tests/masks/strokeEllipse.png")
|
||||
mask.diffVs("tests/masks/strokeEllipse.png")
|
||||
|
||||
block:
|
||||
let path = newPath()
|
||||
|
@ -176,7 +176,7 @@ block:
|
|||
|
||||
let mask = newMask(100, 100)
|
||||
mask.fillPath(path)
|
||||
mask.writeFile("tests/masks/drawPolygon.png")
|
||||
mask.diffVs("tests/masks/drawPolygon.png")
|
||||
|
||||
block:
|
||||
let path = newPath()
|
||||
|
@ -184,7 +184,7 @@ block:
|
|||
|
||||
let mask = newMask(100, 100)
|
||||
mask.strokepath(path, strokeWidth = 10)
|
||||
mask.writeFile("tests/masks/strokePolygon.png")
|
||||
mask.diffVs("tests/masks/strokePolygon.png")
|
||||
|
||||
block:
|
||||
let path = newPath()
|
||||
|
@ -193,7 +193,7 @@ block:
|
|||
let mask = newMask(100, 100)
|
||||
mask.fillpath(path)
|
||||
mask.blur(20)
|
||||
mask.writeFile("tests/images/maskblur20.png")
|
||||
mask.diffVs("tests/images/maskblur20.png")
|
||||
|
||||
block:
|
||||
let path = newPath()
|
||||
|
@ -204,7 +204,7 @@ block:
|
|||
mask.blur(25)
|
||||
|
||||
let minified = mask.minifyBy2()
|
||||
minified.writeFile("tests/masks/minifiedBlur.png")
|
||||
minified.diffVs("tests/masks/minifiedBlur.png")
|
||||
|
||||
block:
|
||||
let path = newPath()
|
||||
|
@ -214,4 +214,4 @@ block:
|
|||
mask.fillPath(path)
|
||||
|
||||
let magnified = mask.magnifyBy2()
|
||||
magnified.writeFile("tests/masks/drawPolygonMagnified.png")
|
||||
magnified.diffVs("tests/masks/drawPolygonMagnified.png")
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import pixie, pixie/fileformats/svg, strformat
|
||||
import pixie, pixie/fileformats/svg, strformat, utils
|
||||
|
||||
const files = [
|
||||
"line01",
|
||||
|
@ -17,20 +17,23 @@ const files = [
|
|||
"dragon2"
|
||||
]
|
||||
|
||||
proc doDiff(rendered: Image, name: string) =
|
||||
rendered.writeFile(&"tests/fileformats/svg/rendered/{name}.png")
|
||||
let
|
||||
master = readImage(&"tests/fileformats/svg/masters/{name}.png")
|
||||
(diffScore, diffImage) = diff(master, rendered)
|
||||
echo &"{name} score: {diffScore}"
|
||||
diffImage.writeFile(&"tests/fileformats/svg/diffs/{name}.png")
|
||||
# proc doDiff(rendered: Image, name: string) =
|
||||
# rendered.writeFile(&"tests/fileformats/svg/rendered/{name}.png")
|
||||
# let
|
||||
# master = readImage(&"tests/fileformats/svg/masters/{name}.png")
|
||||
# (diffScore, diffImage) = diff(master, rendered)
|
||||
# echo &"{name} score: {diffScore}"
|
||||
# diffImage.writeFile(&"tests/fileformats/svg/diffs/{name}.png")
|
||||
|
||||
for file in files:
|
||||
doDiff(readImage(&"tests/fileformats/svg/{file}.svg"), file)
|
||||
let image = readImage(&"tests/fileformats/svg/{file}.svg")
|
||||
image.diffVs(&"tests/fileformats/svg/masters/{file}.png")
|
||||
|
||||
block:
|
||||
let svg = parseSvg(
|
||||
readFile("tests/fileformats/svg/accessibility-outline.svg"),
|
||||
512, 512
|
||||
)
|
||||
doDiff(newImage(svg), "accessibility-outline")
|
||||
let
|
||||
svg = parseSvg(
|
||||
readFile("tests/fileformats/svg/accessibility-outline.svg"),
|
||||
512, 512
|
||||
)
|
||||
image = newImage(svg)
|
||||
image.diffVs(&"tests/fileformats/svg/masters/accessibility-outline.png")
|
||||
|
|
Loading…
Reference in a new issue