pixie/tests/test_images_draw.nim

130 lines
3.5 KiB
Nim
Raw Normal View History

2021-02-18 19:29:40 +00:00
import pixie
2021-02-11 20:56:47 +00:00
block:
let
a = newImage(1000, 1000)
b = newImage(500, 500)
a.fill(rgba(255, 0, 0, 255))
b.fill(rgba(0, 255, 0, 255))
a.draw(b, translate(vec2(250, 250)))
a.writeFile("tests/images/rotate0.png")
block:
let
a = newImage(1000, 1000)
b = newImage(500, 500)
a.fill(rgba(255, 0, 0, 255))
b.fill(rgba(0, 255, 0, 255))
2021-03-26 21:10:11 +00:00
a.draw(b, translate(vec2(250, 250)) * rotate(90 * PI.float32 / 180))
2021-02-11 20:56:47 +00:00
a.writeFile("tests/images/rotate90.png")
block:
let
a = newImage(1000, 1000)
b = newImage(500, 500)
a.fill(rgba(255, 0, 0, 255))
b.fill(rgba(0, 255, 0, 255))
2021-03-26 21:10:11 +00:00
a.draw(b, translate(vec2(250, 250)) * rotate(180 * PI.float32 / 180))
2021-02-11 20:56:47 +00:00
a.writeFile("tests/images/rotate180.png")
block:
let
a = newImage(1000, 1000)
b = newImage(500, 500)
a.fill(rgba(255, 0, 0, 255))
b.fill(rgba(0, 255, 0, 255))
2021-03-26 21:10:11 +00:00
a.draw(b, translate(vec2(250, 250)) * rotate(270 * PI.float32 / 180))
2021-02-11 20:56:47 +00:00
a.writeFile("tests/images/rotate270.png")
block:
let
a = newImage(1000, 1000)
b = newImage(500, 500)
a.fill(rgba(255, 0, 0, 255))
b.fill(rgba(0, 255, 0, 255))
2021-03-26 21:10:11 +00:00
a.draw(b, translate(vec2(250, 250)) * rotate(360 * PI.float32 / 180))
2021-02-11 20:56:47 +00:00
a.writeFile("tests/images/rotate360.png")
2021-02-18 19:29:40 +00:00
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")
2021-02-18 19:55:26 +00:00
2021-02-18 22:23:54 +00:00
block:
let ctx = newContext(100, 100)
ctx.strokeStyle = rgba(255, 255, 0, 255)
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")
2021-02-19 18:04:27 +00:00
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")
2021-02-18 22:23:54 +00:00
2021-02-18 19:55:26 +00:00
block:
let ctx = newContext(100, 100)
ctx.strokeStyle = rgba(255, 255, 0, 255)
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")
2021-02-19 18:04:27 +00:00
block:
let ctx = newContext(100, 100)
ctx.strokeStyle = rgba(255, 255, 0, 255)
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")
2021-02-18 22:30:47 +00:00
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")
2021-02-18 22:40:35 +00:00
block:
let ctx = newContext(100, 100)
ctx.strokeStyle = rgba(255, 255, 0, 255)
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")
2021-02-19 18:04:27 +00:00
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")
2021-02-19 18:04:27 +00:00
block:
let ctx = newContext(100, 100)
ctx.strokeStyle = rgba(255, 255, 0, 255)
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")
2021-06-18 02:39:00 +00:00
block:
let
a = newImage(1000, 1000)
b = newImage(500, 500)
a.fill(rgba(255, 0, 0, 255))
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")