28 lines
767 B
Lua
28 lines
767 B
Lua
-- ostro_mo5.lua : converts a color image into a
|
|
-- MO5 image (16 fixed colors with color clash)
|
|
-- using Ostromoukhov's error diffusion algorithm.
|
|
--
|
|
-- Version: 02-jan-2017
|
|
--
|
|
-- Copyright 2016-2017 by Samuel Devulder
|
|
--
|
|
-- This program is free software; you can redistribute
|
|
-- it and/or modify it under the terms of the GNU
|
|
-- General Public License as published by the Free
|
|
-- Software Foundation; version 2 of the License.
|
|
-- See <http://www.gnu.org/licenses/>
|
|
|
|
run('lib/ostromoukhov.lua')
|
|
|
|
local dith=OstroDither:new()
|
|
local tmp=dith.setLevelsFromPalette
|
|
dith.setLevelsFromPalette = function(self)
|
|
tmp(self)
|
|
self.attenuation=0
|
|
end
|
|
dith:dither40cols(function(w,h,getLinearPixel)
|
|
local pal={}
|
|
for i=0,15 do pal[i+1] = thomson.palette(i) end
|
|
return pal
|
|
end)
|