Drawing at 100.5,100.5 (and reading from 100,100) does work, but I cannot influenze, where the pixels are drawn,
just from where there are read.
After some trying out, it seems to be sufficient to substract 1 from the coordinates read (0.5 would also do).
canvas->readPixels(SkImageInfo::MakeN32Premul(1, 1),&pixel,4,100-1,100-1); // (also works with any other coordinates when neither X nor Y are 0)
Also drawing a pixel to 0/0 is not visible, but drawing it to 640/480 is, so it looks like an off by one error (screen resolution is 640x480).