Bonjour,
Les colonnes sont repérées par c :

Donc pour la première ligne (l=0), je suggère 0,1,2,...,799 non ?
Pour la deuxième ligne (l=1), je suggère 800,801,802....,1599 non ?
soit encore : l*800+0,l*800+1,l*800+2,l*800+3,...,l*800+799
Pour la troisième ligne (l=2), je suggère 1600,1601,1602....,2399 non ?
soit encore : l*800+0,l*800+1,l*800+2,l*800+3,...,l*800+799
Finalement, on voit bien qu'on peut numéroter les pixels par :
n = 800*l+c, tout simplement
Maintenant, si un individu bizarre souhaitait numéroter ses lignes de 1 à 600 et ses colonnes de 1 à 800, avec C=c+1, L=l+1 on obtiendrait :
n = 800*(L-1)+(C-1)
Et si on souhaitait numéroter les pixels de 1 à 480000, avec N=n+1, on aurait :
N = 800*(L-1)+(C-1)+1
Il est clair que ces changements sont hautement bizarres et qu'il est bien plus facile de numéroter les colonnes de 0 à 799, les lignes de 0 à 599 et les pixels de 0 à 479999, moyennant quoi, la formule liant ces trois quantités sera la plus simple possible :
n = 800*l+c
De plus, pour calculer l et c en fonction de n, on peut aisément faire :
l = n/800 (division entière, bien sûr)
c = n mod 800 (reste de la division de n par 800, ou n modulo 800)