From ed89c0edeaa6d634be37ffe598af4978aa94b68f Mon Sep 17 00:00:00 2001 From: Brian Hicks Date: Fri, 21 Feb 2020 10:28:04 -0600 Subject: [PATCH] add a mondrian painting --- src/Image.elm | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++- src/Main.elm | 1 + 2 files changed, 66 insertions(+), 1 deletion(-) diff --git a/src/Image.elm b/src/Image.elm index d6e1ad7..bb42596 100644 --- a/src/Image.elm +++ b/src/Image.elm @@ -1,4 +1,4 @@ -module Image exposing (Image, bars, nyan, recurse, view, viewColor, waves) +module Image exposing (Image, bars, mondrianCompositionIIinRedBlueAndYellow, nyan, recurse, view, viewColor, waves) import Array exposing (Array) import Color.Transparent as Color exposing (Color) @@ -151,3 +151,67 @@ nyan = , [ t, t, t, t, k, k, k, k, k, k, k, k, k, k, t, t, t, t ] , List.repeat 18 t ] + + +mondrianCompositionIIinRedBlueAndYellow = + let + -- Transparent + t = + Color.fromRGBA { red = 255, green = 255, blue = 255, alpha = Color.transparent } + + -- Key (black) + k = + Color.fromRGBA { red = 5, green = 13, blue = 10, alpha = Color.opaque } + + -- White + w = + Color.fromRGBA { red = 226, green = 228, blue = 242, alpha = Color.opaque } + + -- Red + r = + Color.fromRGBA { red = 223, green = 43, blue = 46, alpha = Color.opaque } + + -- Blue + b = + Color.fromRGBA { red = 0, green = 89, blue = 155, alpha = Color.opaque } + + -- Yellow + y = + Color.fromRGBA { red = 232, green = 218, blue = 99, alpha = Color.opaque } + in + Grid.fromRowsAndColumns + [ List.repeat 34 t + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, k, k, k, k, k, k, k, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, k, k, k, k, k, k, k, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, w, w, w, w, w, w, w, k, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, r, t ] + , [ t, k, k, k, k, k, k, k, k, k, k, k, k, k, k, k, k, k, k, k, k, k, k, k, k, k, k, k, k, k, k, k, k, t ] + , [ t, b, b, b, b, b, b, b, k, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, k, w, w, t ] + , [ t, b, b, b, b, b, b, b, k, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, k, w, w, t ] + , [ t, b, b, b, b, b, b, b, k, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, k, w, w, t ] + , [ t, b, b, b, b, b, b, b, k, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, k, w, w, t ] + , [ t, b, b, b, b, b, b, b, k, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, k, k, k, t ] + , [ t, b, b, b, b, b, b, b, k, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, k, y, y, t ] + , [ t, b, b, b, b, b, b, b, k, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, k, y, y, t ] + , [ t, b, b, b, b, b, b, b, k, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, w, k, y, y, t ] + , List.repeat 34 t + ] diff --git a/src/Main.elm b/src/Main.elm index 6e33908..cb84cec 100644 --- a/src/Main.elm +++ b/src/Main.elm @@ -200,6 +200,7 @@ view model = , ( "Bars", Image.bars ) , ( "Recurse", Image.recurse ) , ( "Nyan Cat", Image.nyan ) + , ( "Composition II", Image.mondrianCompositionIIinRedBlueAndYellow ) ] |> List.map (\( name, image ) ->