Вы можете использовать Lua-GD , привязку для библиотеки C для рисования.
Вы должны сначала установить gd и все его зависимости, затем установить Lua-GD, как сказано в руководстве .
Вот код Lua, чтобы сделать то, что запрашивается:
require 'gd'
local f = io.open('file.csv', 'w')
local img = gd.createFromPng('image.png')
for y = 1, img:sizeY() do
local line = ''
for x = 1, img:sizeX() do
-- I'm not sure about the return of this function,
-- the documentation is unclear. But it should not
-- be very different.
local r, g, b = img:getPixel(x, y)
line = line .. r .. ', ' .. g .. ', ' .. b .. ', '
end
line = line:gsub(',$', '\n') -- remove last comma
f:write(line)
end
f:close()
Обратите внимание, что для простоты обработка ошибок не производится.