Skip to content

Instantly share code, notes, and snippets.

@themaxhero
Last active May 11, 2024 00:06
Show Gist options
  • Save themaxhero/d5856b559ba42aa419f0eb837c82b6ac to your computer and use it in GitHub Desktop.
Save themaxhero/d5856b559ba42aa419f0eb837c82b6ac to your computer and use it in GitHub Desktop.
This Script downloads it's dependencies after made executable if you have nix package manager installed.
#!/usr/bin/env nix-shell
#!nix-shell -i ruby -p ruby rubyPackages.rmagick
require "rmagick"
include Magick
colors = {
{r: 32, g: 48, b: 120} => [0, {r: 0, g: 0, b: 0}],
{r: 32, g: 64, b: 168} => [1, {r: 17, g: 17, b: 17}],
{r: 48, g: 104, b: 200} => [2, {r: 34, g: 34, b: 34}],
{r: 56, g: 128, b: 216} => [3, {r: 51, g: 51, b: 51}],
{r: 40, g: 48, b: 56} => [4, {r: 68, g: 68, b: 68}],
{r: 32, g: 72, b: 96} => [5, {r: 85, g: 85, b: 85}],
{r: 24, g: 136, b: 104} => [6, {r: 102, g: 102, b: 102}],
{r: 48, g: 192, b: 160} => [7, {r: 119, g: 119, b: 119}],
{r: 80, g: 96, b: 120} => [8, {r: 136, g: 136, b: 136}],
{r: 144, g: 152, b: 168} => [9, {r: 153, g: 153, b: 153}],
{r: 178, g: 192, b: 205} => [10, {r: 170, g: 170, b: 170}],
{r: 178, g: 192, b: 205} => [11, {r: 187, g: 187, b: 187}],
{r: 96, g: 40, b: 24} => [12, {r: 204, g: 204, b: 204}],
{r: 208, g: 120, b: 88} => [13, {r: 221, g: 221, b: 221}],
{r: 216, g: 168, b: 136} => [14, {r: 238, g: 238, b: 238}],
{r: 224, g: 40, b: 32} => [15, {r: 255, g: 255, b: 255}]
}
image = ImageList.new(ARGV[0])
image.each_pixel{|pixel, x, y|
if pixel.alpha != 0 then
fetch = { r: pixel.red / 257, g: pixel.green / 257, b: pixel.blue / 257 }
index, color = colors[fetch]
unless color.nil? then
r, g, b = color.values_at(:r, :g, :b)
a = pixel.alpha / 257
rgba = "rgba(#{r},#{g},#{b},#{a})"
image.pixel_color x, y, rgba
end
end
}
image.write(ARGV[1])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment