view skin/compose.rkt @ 0:27280b550d56

Serpentron 1.0-beta.
author Mikhail Kryshen <mikhail@kryshen.net>
date Wed, 17 Feb 2016 23:55:43 +0300
parents
children
line source
1 #lang racket
2 (require 2htdp/image)
3 (require lang/posn)
5 (define background (bitmap/file "background.png"))
6 (define tile (bitmap/file "tile.png"))
7 (define snake (bitmap/file "snake.png"))
8 (define snake-mask (bitmap/file "snake_mask.png"))
10 (define s (image-width tile))
12 (define head (crop 0 0 s s snake))
13 (define head-mask (crop 0 0 s s snake-mask))
15 (define body (crop 0 s s s snake))
16 (define body-mask (crop 0 s s s snake-mask))
18 (define corner (crop 0 (* s 2) s s snake))
19 (define corner-mask (crop 0 (* s 2) s s snake-mask))
21 (define (orientations pict)
22 (beside/align "top"
23 pict
24 (rotate -90 pict)
25 (rotate 180 pict)
26 (rotate 90 pict)))
28 (save-image
29 (above/align "left"
30 background
31 (beside tile
32 (orientations head)
33 (orientations body)
34 (orientations corner)
35 (orientations head-mask)
36 (orientations body-mask)
37 (orientations corner-mask)))
38 "skin.png")