Bonne année 2008 à tous.
J'utilise un imagegadget et je dessine quelque chose sur l'image source, y'a il un moyen pour lire les couleurs des pixels de cette image?
Lire les pixels d'une image
Il y a la commande Point(x, y) qui te renvoie la couleur. Ensuite, tu peux récupérer les composantes RVB avec les commandes Red(), Green(), Blue().
Code : Tout sélectionner
StartDrawing(ImageOutput(TonImage))
Couleur = Point(x, y)
Rouge = Red(Couleur)
Vert = Green(Couleur)
Bleu = Blue(Couleur)
StopDrawing()
ou tu peux jouer avec les commandes de l'API
Code : Tout sélectionner
; English forum: http://purebasic.myforums.net/viewtopic.php?t=8736&highlight=
; Author: Danilo (updated for PB3.93 by ts-soft)
; Date: 14. December 2003
;
; Bitmap Bits Test
; Danilo, 10.04.2003
Structure myBITMAPINFO
bmiHeader.BITMAPINFOHEADER
bmiColors.RGBQUAD[1]
EndStructure
Structure s_pixel
B.b
V.b
R.b
A.b
EndStructure
hBmp = CreateImage(1,300,100)
hDC = StartDrawing(ImageOutput(1))
ImageWidth = ImageWidth(1)
ImageHeight = ImageHeight(1)
Dim mem.s_pixel(ImageHeight-1, ImageWidth-1)
bmi.myBITMAPINFO
bmi\bmiHeader\biSize = SizeOf(BITMAPINFOHEADER)
bmi\bmiHeader\biWidth = ImageWidth
bmi\bmiHeader\biHeight = ImageHeight
bmi\bmiHeader\biPlanes = 1
bmi\bmiHeader\biBitCount = 32
bmi\bmiHeader\biCompression = #BI_RGB
If GetDIBits_(hDC,hBmp,0,ImageHeight(1),mem(),bmi,#DIB_RGB_COLORS) <> 0
; Fill
y=45
For x = 0 To ImageWidth-1
mem(y,x)\R = $FF
mem(y,x)\V = $FF
mem(y,x)\B = $00
mem(y,x)\A = $00
Next x
; Copy back
If SetDIBits_(hDC,hBmp,0,ImageHeight(1),mem(),bmi,#DIB_RGB_COLORS) <> 0
StopDrawing()
OpenWindow(0,0,0,ImageWidth,ImageHeight,"Image",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
CreateGadgetList(WindowID(0))
ButtonImageGadget(0,0,0,ImageWidth,ImageHeight,hBmp)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Else
StopDrawing()
EndIf
EndIf
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Elles sont déjà déclarées dans PureBasic, sauf si tu as la version démo, dans ce cas tu ne pourras pas faire tourner ce code (il n'y a pas le frameWork des API).
Si tu veux voir à quoi ressemble une structure tu vas dans le menu de l'IDE, outils , puis visualisateur de structures, et clique sur la structure qui t'intéresse pour voir son contenu.
Si tu veux voir à quoi ressemble une structure tu vas dans le menu de l'IDE, outils , puis visualisateur de structures, et clique sur la structure qui t'intéresse pour voir son contenu.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.