34 lines
847 B
Lua
Executable File
34 lines
847 B
Lua
Executable File
require "gd"
|
|
|
|
math.randomseed(os.time())
|
|
|
|
im = gd.createFromJpeg("./bugs.jpg")
|
|
assert(im)
|
|
sx, sy = im:sizeXY()
|
|
|
|
im2 = gd.createTrueColor(2*sx, sy)
|
|
black = im2:colorAllocate(0, 0, 0)
|
|
white = im2:colorAllocate(255, 255, 255)
|
|
gd.copy(im2, im, 0, 0, 0, 0, sx, sy, sx, sy)
|
|
|
|
sx2, sy2 = im2:sizeXY()
|
|
im2:stringUp(gd.FONT_SMALL, 5, sy2-10, gd.VERSION, white)
|
|
|
|
for i = 0, 14 do
|
|
for j = 0, 24 do
|
|
rcl = im2:colorAllocate(math.random(255), math.random(255),
|
|
math.random(255))
|
|
im2:filledRectangle(sx+20+j*10, i*20+40, sx+30+j*10, i*20+50, rcl)
|
|
end
|
|
end
|
|
|
|
im2:string(gd.FONT_GIANT, sx+80, 10, "Powered by Lua", white)
|
|
|
|
blackTr = im2:colorAllocateAlpha(0, 0, 0, 80)
|
|
im2:stringFT(blackTr, "./Vera.ttf", 140, 0, 70, 130, "gd")
|
|
im2:stringFT(white, "./Vera.ttf", 45, math.pi/5, 340, 250, "FreeType")
|
|
|
|
|
|
im2:png("out.png")
|
|
os.execute("out.png")
|