Zumindest habe ich das mal mit
GD::Image::setPixel(x,y, {r,g,b});
durchgespielt, nachdem ich mir die Pixeldaten alsUint8ClampedArray
mit einem canvas-<elemet> aus dem Browser geholt habe.
Klingt nicht gut. Besser mit Image::Magick und passenden ICC-Profilen.