Всё можно делать на js в том числе попиксельно.(
imageData)
И ты мудришь. К каждому изображению следует просто хранить готовое описание сегментов в векторном виде или в виде изображения-маски(чб), по которому уже накладывать цвет с нужной степенью смешивания.