Page 2 sur 2

Publié : dim. 31/juil./2005 20:41
par Dr. Dri
un ptit exemple de manipulation de pixel

Code : Tout sélectionner

Structure RGBA
  r.b
  g.b
  b.b
  a.b
EndStructure

CreateImage(0, 10, 10)

If StartDrawing( ImageOutput() )
  
  Box(0, 0, 10, 10, RGB(200, 100, 50))
  StopDrawing()
EndIf

;la variable pixel sera affectée
;mais on travaille les modifs avec *p
*p.RGBA = @pixel.l

pixel = RGB(200, 100, 50)

Debug *p\r & $FF ;200
Debug *p\g & $FF ;100
Debug *p\b & $FF ; 50

Debug "-------------------"

hWnd = OpenWindow(0, 0, 0, 0, 0, #PB_Window_Invisible, "")
hDC = GetDC_(hWnd) ;je sais pas faire sans au moins une fenetre

hIMG = CreateCompatibleDC_(hDC)
SelectObject_(hIMG, ImageID())
pixel = GetPixel_(hIMG, 0, 0)

Debug *p\r & $FF ;200
Debug *p\g & $FF ;100
Debug *p\b & $FF ; 50
Dri ;)

Publié : dim. 31/juil./2005 21:52
par nico

Code : Tout sélectionner

hDC = GetDC_(hWnd) ;je sais pas faire sans au moins une fenetre 

hIMG = CreateCompatibleDC_(hDC) 
Tu remplace par 0:

Code : Tout sélectionner

hIMG = CreateCompatibleDC_(0) 
Si 0, la fonction crée un DC mémoire compatible avec l'écran en cours de l'application.

Publié : lun. 01/août/2005 10:43
par Dr. Dri
Merci! bon à savoir ^^

Dri :)