Page 1 sur 1
Problème avec les images!
Publié : lun. 16/juil./2007 16:19
par nico
Pourquoi lorsque je fais une copie d'une image, je n'ai pas accès au bit, j'ai vraiment besoin de cette fonction.
Code : Tout sélectionner
UseJPEGImageDecoder()
UsePNGImageDecoder()
LoadImage(0,"c:\Image_Essai.png")
CopyImage(0,1)
GetObject_(ImageID(0), SizeOf(BITMAP), @bmp.BITMAP)
*bits = bmp\bmBits
Debug *bits
GetObject_(ImageID(1), SizeOf(BITMAP), @bmp.BITMAP)
*bits = bmp\bmBits
Debug *bits
Publié : lun. 16/juil./2007 17:24
par nico
J'ai trouvé une soluce au lieu de faire un CopyImage, faire un GrabImage.
Publié : lun. 16/juil./2007 17:29
par comtois
Je n'ai pas testé, mais j'ai l'impression que la lib image a besoin d'être améliorée. J'avais rencontré un autre problème, quand tu sauvegardes une image avec une couche alpha, la copie n'a pas de couche alpha. Fred m'avait répondu qu'il devait remettre de l'ordre dans la lib image

Publié : lun. 16/juil./2007 18:51
par nico
Quelqu'un pourrait tester, il se passe des choses bizarres au lieu d'ime image, j'ai une icône.
Code : Tout sélectionner
;//Test sur image
UseJPEGImageDecoder()
UsePNGImageDecoder()
Structure RGBA
Red.b
Green.b
Blue.b
Alpha.b
EndStructure
Structure RGBAL
Red.l
Green.l
Blue.l
Alpha.l
EndStructure
If OpenWindow(0, 300, 100, 300, 300, "PureBasic Window", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
CatchImage(10,?Image)
CreateGadgetList(WindowID(0))
ImageGadget(0,0,0,0,0,ImageID(10))
ImageGadget(1,160,0,0,0,ImageID(10))
TrackBarGadget(2, 10, 220, 200, 20, 0, 200)
TrackBarGadget(3, 10, 260, 200, 20, 0, 200)
SetGadgetState(2,100)
SetGadgetState(3,100)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 2
nBrightness=GetGadgetState(2)
nContrast=GetGadgetState(3)
If IsImage(11)
FreeImage(11)
EndIf
GetObject_(ImageID(10), SizeOf(BITMAP), @bmp.BITMAP)
GrabImage(10,11,0,0,bmp\bmWidth,bmp\bmHeight)
Debug ImageID(11)
SetGadgetState(1,11)
Case 3
Debug GetGadgetState(3)
nContrast=GetGadgetState(3)
nBrightness=GetGadgetState(2)
If IsImage(11)
FreeImage(11)
EndIf
GetObject_(ImageID(10), SizeOf(BITMAP), @bmp.BITMAP)
GrabImage(10,11,0,0,bmp\bmWidth,bmp\bmHeight)
SetGadgetState(1,11)
EndSelect
Case #WM_CLOSE
Quit = 1
EndSelect
Until Quit = 1
EndIf
End
DataSection
Image:
IncludeBinary "c:\Image_Essai.png" ;image 100*100
EndDataSection
c'est fortiche ici
Publié : lun. 16/juil./2007 21:36
par beauregard
Quelqu'un pourrait tester, il se passe des choses bizarres au lieu d'ime image, j'ai une icône.
dès que l'on clique sur l'une des deux barres, l'image de droite s'évanoui, et à la place une sympatique bulle I apparait, ainsi que la petite fenêtre "debug" avec plein de nombre incompréhensible pour une quiche ( genre 84217623)