Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let design0 = """YYYYYYYYYB
- PPPPPPPPYB
- PRPYYYYYYB
- PRPPPPYBYB
- PRPRBRYBYB
- PRPRYPYBYB
- PRPRBBBBYB
- PRRRRRRBYB
- PRBBBBBBBB
- PRRRRRRRRR"""
- let design1 = """YYYYYYYYYB
- PPPPPPPPYB
- PRPYYYYYYB
- PRPPBPYBYB
- PRPRBRRBYB
- PRPYYPYBYB
- PRPRBPBBYB
- PRRRRRRBYB
- PRBBBBBBBB
- PRRRRRRRRR"""
- let design2 = """YYYYYYYYYB
- PPPPPPPPYB
- PRPYYYYYYB
- PRPBBBRBYB
- PRPYBRRBYB
- PRPYYPRBYB
- PRPYPPPBYB
- PRRRRRRBYB
- PRBBBBBBBB
- PRRRRRRRRR"""
- let design3 = """YYYYYYYYYB
- PPPPPPPPYB
- PRBRRRRRYB
- PRBBBBRPYB
- PRBYBRRPYB
- PRBYYPRPYB
- PRBYPPPPYB
- PRYYYYYPYB
- PRBBBBBBBB
- PRRRRRRRRR"""
- let design4 = """YYYYYYYYYB
- PBBBBBBBRB
- PYBRRRRRRB
- PYBBBBRPRB
- PYBYBRRPRB
- PYBYYPRPRB
- PYBYPPPPRB
- PYYYYYYPRB
- PYPPPPPPPB
- PRRRRRRRRR"""
- let design5 = """RRRRRRRRRP
- BBBBBBBBRP
- BYBRRRRRRP
- BYBBBBRPRP
- BYBYBRRPRP
- BYBYYPRPRP
- BYBYPPPPRP
- BYYYYYYPRP
- BYPPPPPPPP
- BYYYYYYYYY"""
- #r "System.Drawing.dll"
- open System
- open System.Drawing
- let toColor = function
- | 'R' -> Color.FromArgb(255,245,117,26)
- | 'Y' -> Color.FromArgb(255,238,241,0)
- | 'P' -> Color.FromArgb(255,161,129,228)
- | 'B' -> Color.FromArgb(255,80,170,241)
- | _ -> Color.White
- let toBrush c = new SolidBrush(toColor c) :> Brush
- let create (design:string) =
- let image = new Bitmap(500, 500)
- use graphics = Graphics.FromImage(image)
- let lines = design.Split([|'\n'|])
- let k = 50
- lines |> Seq.iteri (fun y line ->
- line |> Seq.iteri (fun x c ->
- let brush = toBrush c
- graphics.FillRectangle(brush, x*k, y*k, k, k)
- )
- )
- image
- #r @"Gif.Components.dll"
- open Gif.Components
- let encoder = AnimatedGifEncoder()
- if encoder.Start(@"c:\app\.gif") then
- encoder.SetFrameRate(5.0f)
- encoder.SetRepeat(0)
- [design0;design0;design1;design2;design3;design4;design5;design5;design5;design5;design4;design3;design2;design1;design0;design0;]
- |> List.iter (fun design -> encoder.AddFrame(create design) |> ignore)
- encoder.Finish() |> ignore
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement