MYSTERIEUX Problème de PARASITES dans l'image !!! [RESOLUT]
Publié : jeu. 25/oct./2007 21:38
Bonsoir à tous
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,....
surtout si vous avez la solution (même la moindre) surtout n'hesitez pas à la poster svp, car cela me permettrai d'avancer enfin, merci à tous 

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
;
