Skip to content

Instantly share code, notes, and snippets.

@cormullion
Created September 6, 2022 09:44
Show Gist options
  • Save cormullion/bdf99c94335fcc4acb042833526206df to your computer and use it in GitHub Desktop.
Save cormullion/bdf99c94335fcc4acb042833526206df to your computer and use it in GitHub Desktop.
julia users helsinki
using Luxor
helsinkilogo = Path([
PathMove(Point(4.245, 57.972)),
PathCurve(Point(9.725, 52.512), Point(17.013, 49.505), Point(24.763, 49.505)),
PathLine(Point(102.34, 49.505)),
PathCurve(Point(120.348, 49.505), Point(135, 35.014), Point(135, 17.203)),
PathLine(Point(135, -61.799)),
PathLine(Point(-134.588, -61.799)),
PathLine(Point(-134.588, 17.203)),
PathCurve(Point(-134.588, 35.014), Point(-120.027, 49.505), Point(-102.129, 49.505)),
PathLine(Point(-24.351, 49.505)),
PathCurve(Point(-16.601, 49.505), Point(-9.315, 52.512), Point(-3.835, 57.971)),
PathLine(Point(0.206, 62)),
PathClose()])
function sinecurves(y)
k = 2.3
@layer begin
sinewaves = [Point(k * x, y + 4sin(x / k)) for x in (-(300 / k)):(2π / 60):(300 / k)]
push!(sinewaves, boxbottomright())
push!(sinewaves, boxbottomleft())
poly(sinewaves, :fill, close = true)
end
end
@svg begin
background("#F5A3C7") # pinkypurple
# waves
@layer begin
setopacity(0.2)
for y in 0:10:100
randomhue()
sinecurves(y)
end
end
# helskinki logo as background
drawpath(helsinkilogo, action = :fill)
# helskinki logo border
sethue("#0000BF") # blue
setline(6)
drawpath(helsinkilogo, action = :stroke)
setline(4)
sethue("#fff") # blue
drawpath(helsinkilogo, action = :stroke)
# contents
bx = BoundingBox(helsinkilogo)
w, h = boxwidth(bx), boxheight(bx)
panes = Tiler(w, h, 1, 2)
@layer begin
translate(first(panes[1]))
juliacircles(26)
end
@layer begin
translate(first(panes[2]))
fontface("MontSerrat-Bold")
fontsize(28)
sethue("#FFE977")
textwrap("Julia Users Helsinki", 60, O + (-60, -80), leading = 28)
end
end 600 160 "/tmp/juh.svg"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment