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)