Powered by AppSignal & Oban Pro

layout

stage2/layout.livemd

layout

Mix.install([
  {:nx, "~> 0.4"},
  {:kino, "~> 0.10.0"}
])

Section

img = fn color ->
  color
  |> Nx.tensor(type: :u8)
  |> Nx.tile([50, 50, 1])
  |> Kino.Image.new()
end
[
  img.([255, 0, 0]),
  img.([0, 255, 0]),
  img.([0, 0, 255]),
  img.([255, 255, 0]),
  img.([255, 0, 255]),
  img.([0, 255, 255])
]
|> Kino.Layout.grid(columns: 3)
[
  Red: img.([255, 0, 0]),
  Green: img.([0, 255, 0]),
  Blue: img.([0, 0, 255])
]
|> Kino.Layout.tabs()
[
  img.([255, 0, 0]),
  img.([0, 0, 255]),
  [
    img.([255, 0, 0]),
    img.([0, 0, 255]),
    img.([0, 0, 255]),
    img.([255, 0, 0])
  ]
  |> Kino.Layout.grid(columns: 2, gap: 10),
  img.([0, 0, 255]),
  img.([255, 0, 0])
]
|> Kino.Layout.grid(columns: 5, gap: 10)