Gerade ging es um Geschwindigkeit und jetzt lese ich Canvas.Pixels?

Naja, da es nur um zwei Pixel jeder Zeile geht, dürfte Scanline nicht wesentlich schneller sein. Das müsste man vielleicht mal testen, aber ich glaube es nicht.
Ok dann lasse ich es so..

Trotzdem nochmal danke für deine mühe
Über die Berechnungsweise kann man sich ja bekanntlich streiten.
Geht bestimmt eleganter.
gruss