 
 j'ais un véritable problème dans mon code:
j'éssais de créer un programme qui convertit des images avec un filtre un peu spécial dont l'explication n'est pas très utile finalement;
le problème se trouve lors de la création de l'image ainsi convertit qui se trouve juste à côté de l'image original:
il y a des points de "parasite" principalement "monochrome" de couleurs soit primaire soit secondaire et sa fait déja 3 jours que je m'arrache les cheuveux sur se problème qui semble pourtant être très facile à réparer
et il y a un second problème qui n'est pas trop important finalement:
lors de la sauvegarde de l'image ainsi convertit,....
Code : Tout sélectionner
Enumeration
    #Window_Principale    
EndEnumeration
Enumeration   
    #GImage_Initial    ;0
    ;#GImage_Convert    ;1
    
    #Button_Ouvrir
    #Button_Convert
    #Button_Sauve    
EndEnumeration
Enumeration    
    #Image_Artificiel ;-0
    #Image_Initial    ;-1
    #Image_Convert    ;-2
EndEnumeration
Global color
;- Image Plugins
UseJPEGImageDecoder()
UsePNGImageDecoder()
UseTGAImageDecoder()
UseTIFFImageDecoder()
UseJPEGImageEncoder()
UsePNGImageEncoder()
If CreateImage(0, 300, 300 ) 
    StartDrawing(ImageOutput(0))
        Box(0, 0, 300, 300, $000000 )
    StopDrawing()  
EndIf
Procedure Open_Window_Principale(image)
    If OpenWindow(#Window_Principale, 0, 0, 610, 350, "MConV",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar );| #PB_Window_ScreenCentered)
        SetWindowColor(0,RGB(255,128,0))
        
        If CreateGadgetList(WindowID(#Window_Principale))
        
            ImageGadget(#GImage_Initial, 2, 40, 300, 300, ImageID(image), #PB_Image_Border)
            ;ImageGadget(#GImage_Convert, 305, 40, 300, 300, ImageID(image), #PB_Image_Border)
            
            ButtonGadget(#Button_Ouvrir, 5, 5, 75, 25, "=>IMAGE")
            ButtonGadget(#Button_Convert, 305, 5, 75, 25, "CONVERTION")
            ButtonGadget(#Button_Sauve, 385, 5, 75, 25, "=>SAUVER ?")     
        EndIf
        
    EndIf
    
EndProcedure
;////////////////////////////////////////////////////////////
Procedure Filtre_01(couleur)
    Shared color
        VR=Red(couleur)
        VG=Green(couleur)
        VB=Blue(couleur)
       
        If VR <= 128
            Vrest= VR-128
            VR=VR+Vrest
        EndIf
        
        If VG <= 128
            Vrest= VG-128
            VG=VG+Vrest
        EndIf
         
        If VB <= 128
            Vrest= VB-128
            VB=VB+Vrest
        EndIf         
    
        If VR >= 128
            Vrest= VR-128
            VR=VR-Vrest
        EndIf
        
        If VG >= 128
            Vrest= VG-128
            VG=VG-Vrest
        EndIf
         
        If VB >= 128
            Vrest= VB-128
            VB=VB-Vrest
        EndIf
        
        color=RGB(VR,VG,VB) ;Pour un pixel
        
EndProcedure
;/////////////////////////////////////////////////////////////
Procedure Biphase(XG1,YG1,Pic,Largeur,Hauteur,XG2,YG2)
        If CreateImage(Pic,Largeur,Hauteur)  
                  
            StartDrawing(WindowOutput(0))
                  
                For y=YG1 To Hauteur        
                    For x=XG1 To Largeur                
                        color=Point(x,y)
                        
                        Filtre_01(color)
                        Plot(x+XG2,y ,color)
   
                    Next x         
                Next Y   
                
            StopDrawing()
                       
        EndIf
EndProcedure
Open_Window_Principale(0)
Repeat 
  
    Event = WaitWindowEvent() 
    WindowID = EventWindow() 
    GadgetID = EventGadget()
    EventType = EventType()
  
    If Event = #PB_Event_Gadget
    
        Select GadgetID 
        
            Case #Button_Ouvrir
            
            
            fichier_$ = OpenFileRequester( "Recherche image", "", "Fichier image|*.jpg;*.jpeg;*.png;*.bmp;*.tif;*.tga", 0)
            
            If fichier_$
                Taille_File = FileSize(fichier_$)
                
                If LoadImage( 1, fichier_$)
                    ResizeImage(1, 300, 300,  #PB_Image_Smooth)
                    SetGadgetState(0, ImageID(1))
                Else
                    MessageRequester("erreur","Impossible d'ouvrir l'image!",0)
                EndIf
            EndIf
              
            Case #Button_Convert
            
                Biphase(GadgetX(0),GadgetY(0),2,300,350,305,40)
                ;SetGadgetState(1,ImageID(2))
                
            Case #Button_Sauve
                
                file$=SaveFileRequester("", file$, "Fichier image|*.jpg;*.jpeg;*.png;*.bmp;*.tif;*.tga", 0)
                
                If file$
                    If SaveImage(2,file$)=0
                        Debug "Erreur de sauvegarde!!"
                    EndIf
                EndIf
                       
          
        EndSelect
    
    EndIf
  
Until Event = #PB_Event_CloseWindow 
CloseWindow(0)
End
;


 
  
  
 
 
  , mais j'en fais mon affaire personnel se coup si
 , mais j'en fais mon affaire personnel se coup si  
  
 
 ;
 ;