diff options
Diffstat (limited to 'make_preview_image.lua')
-rwxr-xr-x | make_preview_image.lua | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/make_preview_image.lua b/make_preview_image.lua deleted file mode 100755 index 6bcaac8..0000000 --- a/make_preview_image.lua +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/lua - -local filename = ... -local name = filename:match("([^\\/]+)%..*$") - - --- get colors -local text = io.open(filename):read("*a") -local colors = {} -for r, g, b in text:gmatch("#(%x%x)(%x%x)(%x%x)") do - r = tonumber(r, 16) - g = tonumber(g, 16) - b = tonumber(b, 16) - table.insert(colors, { r, g, b }) -end - -table.sort(colors, function(a, b) - return a[1] + a[2] + a[3] < b[1] + b[2] + b[3] -end) - -local function eq(a, b) - return a[1] == b[1] and a[2] == b[2] and a[3] == b[3] -end - -local prev = {} -for i = #colors, 1, -1 do - if eq(colors[i], prev) then - table.remove(colors, i) - else - prev = colors[i] - end -end - - ---generate svg file -local w = 200 -local h = 16 -local fp = io.open("previews/" .. name .. ".svg", "wb") - -fp:write('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'..w..'" height="'..h..'" shape-rendering="crispEdges"> \n') - -for i = 1, #colors do - local width = w/#colors - local r, g, b = table.unpack(colors[i]) - local rect = '<rect x="'..(i-1)*width..'" width="'..width..'" height="'..h..'" fill="rgb('..r..', '..g..', '..b..')"></rect> \n' - fp:write(rect) -end - -fp:write('</svg>') -fp:close() - |