...
un code en veux-tu, en voila
simple à taper mais un peu long... pour un ptit snippet
Dri
simple à taper mais un peu long... pour un ptit snippet
Code : Tout sélectionner
If InitSprite()=0
MessageRequester("Erreur", "Impossible d'ouvrir DirectX 7 ou +", 16)
End
EndIf
#largeur_ecran = 640
#hauteur_ecran = 480
#profondeur_ecran = 32
If OpenScreen(#largeur_ecran, #hauteur_ecran, #profondeur_ecran, "")=0
info_ecran$ = Str(#largeur_ecran)+"*"+Str(#hauteur_ecran)+" "+Str(#profondeur_ecran)+"bits"
MessageRequester("Erreur", "Impossible d'ouvrir un écran de "+info_ecran$, 16)
End
EndIf
;là on va dessiner à l'écran pour récupérer ses informations
If StartDrawing(ScreenOutput())
Buffer1 = DrawingBuffer()
Pitch1 = DrawingBufferPitch()
PixelFormat1 = DrawingBufferPixelFormat()
StopDrawing()
Else
MessageRequester("Erreur", "Impossible de dessiner à l'écran", 16)
End
EndIf
; on fait pareil avec l'autre écran
FlipBuffers()
If StartDrawing(ScreenOutput())
Buffer2 = DrawingBuffer()
Pitch2 = DrawingBufferPitch()
PixelFormat2 = DrawingBufferPixelFormat()
StopDrawing()
Else
MessageRequester("Erreur", "Impossible de dessiner à l'écran", 16)
End
EndIf
CloseScreen()
;là on va afficher les informations qu'on a récupérées
;on commence par définir les formats de pixels (voir dans l'aide)
Dim format_pixel.s(7)
format_pixel(1) = "#PB_PixelFormat_8Bits"
format_pixel(2) = "#PB_PixelFormat_15Bits"
format_pixel(3) = "#PB_PixelFormat_16Bits"
format_pixel(4) = "#PB_PixelFormat_24Bits_RGB"
format_pixel(5) = "#PB_PixelFormat_24Bits_BGR"
format_pixel(6) = "#PB_PixelFormat_32Bits_RGB"
format_pixel(7) = "#PB_PixelFormat_32Bits_BGR"
Dim profondeur_pixel(7) ;en octet(s)
profondeur_pixel(1) = 1
profondeur_pixel(2) = 2
profondeur_pixel(3) = 2
profondeur_pixel(4) = 3
profondeur_pixel(5) = 3
profondeur_pixel(6) = 4
profondeur_pixel(7) = 4
;voila pour le premier écran
Debug "Premier écran"
Debug "Adresse : "+Str(Buffer1)
Debug "Pitch : "+Str(Pitch1)+" octets"
Debug "Format des pixels : "+format_pixel(PixelFormat1)
Debug "Taille des pixels : "+Str(profondeur_pixel(PixelFormat1))+" octets"
taille1 = #largeur_ecran*#hauteur_ecran*profondeur_pixel(PixelFormat1)
Debug "Taille de la mémoire de l'écran : "+Str(taille1)+" octets"
Debug " "
;à priori le second est identique (sauf son adresse bien sûr)
Debug "Second écran"
Debug "Adresse : "+Str(Buffer2)
Debug "Pitch : "+Str(Pitch2)+" octets"
Debug "Format des pixels : "+format_pixel(PixelFormat2)
Debug "Taille des pixels : "+Str(profondeur_pixel(PixelFormat2))+" octets"
taille2 = #largeur_ecran*#hauteur_ecran*profondeur_pixel(PixelFormat2)
Debug "Taille de la mémoire de l'écran : "+Str(taille2)+" octets"
Debug " "