rounded rect bench vs cairo
This commit is contained in:
parent
0bb8f8d457
commit
a40f88e264
1 changed files with 45 additions and 0 deletions
|
@ -139,3 +139,48 @@ block:
|
||||||
# a.writeFile("pixie3.png")
|
# a.writeFile("pixie3.png")
|
||||||
|
|
||||||
# doDiff(readImage("cairo3.png"), a, "cairo3")
|
# doDiff(readImage("cairo3.png"), a, "cairo3")
|
||||||
|
|
||||||
|
block:
|
||||||
|
let path = newPath()
|
||||||
|
path.roundedRect(200, 200, 600, 600, 10, 10, 10, 10)
|
||||||
|
|
||||||
|
let shapes = path.commandsToShapes(true, 1)
|
||||||
|
|
||||||
|
let
|
||||||
|
surface = imageSurfaceCreate(FORMAT_ARGB32, 1000, 1000)
|
||||||
|
ctx = surface.create()
|
||||||
|
|
||||||
|
timeIt "cairo4":
|
||||||
|
ctx.setSourceRgba(1, 1, 1, 1)
|
||||||
|
let operator = ctx.getOperator()
|
||||||
|
ctx.setOperator(OperatorSource)
|
||||||
|
ctx.paint()
|
||||||
|
ctx.setOperator(operator)
|
||||||
|
|
||||||
|
ctx.setSourceRgba(1, 0, 0, 1)
|
||||||
|
|
||||||
|
ctx.newPath()
|
||||||
|
ctx.moveTo(shapes[0][0].x, shapes[0][0].y)
|
||||||
|
for shape in shapes:
|
||||||
|
for v in shape:
|
||||||
|
ctx.lineTo(v.x, v.y)
|
||||||
|
ctx.fill()
|
||||||
|
surface.flush()
|
||||||
|
|
||||||
|
# discard surface.writeToPng("cairo3.png")
|
||||||
|
|
||||||
|
let a = newImage(1000, 1000)
|
||||||
|
|
||||||
|
timeIt "pixie4":
|
||||||
|
a.fill(rgba(255, 255, 255, 255))
|
||||||
|
|
||||||
|
let p = newPath()
|
||||||
|
p.moveTo(shapes[0][0])
|
||||||
|
for shape in shapes:
|
||||||
|
for v in shape:
|
||||||
|
p.lineTo(v)
|
||||||
|
a.fillPath(p, rgba(255, 0, 0, 255))
|
||||||
|
|
||||||
|
# a.writeFile("pixie3.png")
|
||||||
|
|
||||||
|
# doDiff(readImage("cairo3.png"), a, "cairo3")
|
||||||
|
|
Loading…
Reference in a new issue