
Par exemple dans le :
color= PeekL(DrawingBuffer() + (x * PF) +DrawingBufferPitch()* ( Y *PF ) )
il faut supprimer le deuxième PF
Et mettre ça :
color= PeekL(DrawingBuffer() + (x * PF) +DrawingBufferPitch()* ( Y ) )
Autre erreur :
Prenons la procédure rapide_Point()
Procedure rapide_Point(x,Y)
Select DrawingBufferPixelFormat()
Case #PB_PixelFormat_8Bits : PF=1:t=0
Case #PB_PixelFormat_15Bits : PF=2:t=0
Case #PB_PixelFormat_16Bits : PF=2:t=0
Case #PB_PixelFormat_24Bits_RGB : PF=3:t=0
Case #PB_PixelFormat_24Bits_BGR : PF=3:t=1
Case #PB_PixelFormat_32Bits_RGB : PF=4:t=0
Case #PB_PixelFormat_32Bits_BGR : PF=4:t=1
EndSelect
color= PeekL(DrawingBuffer() + (x * PF) +DrawingBufferPitch()* ( Y ) )
If t=1
Rouge=Red(color)
Vert=Green(color)
Bleu=Blue(color)
color=RGB(Bleu,Vert,Rouge)
EndIf
ProcedureReturn color
EndProcedure
Pour PF = 1 il faut un PeekB
Et pour un PF = 2 un PeekW
et pour PF = 3;
C’est plus délicat, il faut faire 3 peekB pour le Rouge le Vert et le Bleu, puis les rassembler avec un RGB()
Le PeekL renvoi 4 octets (rappel) Donc 2 pixel pour le 16 bits et 4 pixel pour le 8 bits

