En efecto, con canvas es posible lograrlo (obviamente no funcionará en las actuales versiones de Explorer: para solventarlo habrá que buscar una solución por el lado del servidor o a través de flash y su clase BitmapData).
Un ejemplo aplicando canvas:
http://tirolatlas.uibk.ac.at/papers/...9/ex_read.html
Más experimentos con canvasPixelArray:
http://www.disegnocentell.com.ar/notas2.php?id=254
Algunos ejemplos con flash y BitMapData:
http://www.disegnocentell.com.ar/notas2.php?id=229
Y del lado del servidor, con GD -basado en la función
imagecolorat-:
http://www.bandwise.com/snippets/colorpicker.html