der Code ist nicht optimiert. Einfach eine JPEG oder BMP auf die EXE ziehen und freuen. Die neue *.FL Datei ist eine BMP die in jedem normalen Bildbearbeitungsprogramm geöffnet werden kann.
Frage, wozu das Ganze? ... wenn ihr Mal Bilder ,,Zensieren,, wollt ...
könnt ihr das ganz einfach mit dem Programm machen.
Allerdings müsstet ihr danach noch den eigentlichen Ausschnitt in einem Bildbearbeitungsprogramm wählen und auf das Original als neue Ebene definieren ...
Jetzt fragt ihr euch sicherlich, was der Unterschied zu einem normalen Rauschen im Bild, bzw. einem Mosaik oder ähnlichem ist ...
Mein Filtereffekt kann mit einem durchschnittlichen Bildbearbeitungsprogramm wieder ohne weitere Probleme, allerdings auf genau nur einem Weg ... und ohne Passwort ... entfernt werden.
>>> Pure Basic V4.0
Code: Alles auswählen
; Folker Linstedt, 11.08.2006, Farbfilter
#Image=1
#Datei=2
UseJPEGImageDecoder()
OpenConsole()
PrintN("FL-Studios (c) Folker Linstedt 2006, Stand 11.08.2006 Registriert fuer Anonym")
PrintN("Programm zum Veraendern der Farben: Erstellt BMP-Datei unkomprimiert 24 Bit")
PrintN("")
PrintN("FarbvertauschEffekte 0 bis 5, RGB,RBG,BGR,BRG,GBR,GRB Zufall: Empfohlen: -5/-6")
PrintN("Farbeffekt Null (0) erstellt eine Kopie von RGB nach RGB also unveraendert!")
PrintN(":: (3)/5 Ergibt bei normaler Hautfarbe Froschgruen ::")
PrintN(":: 7 Ergibt bei normaler Hautfarbe dunkelhaeutig ::")
PrintN("Graustufeneffekte: 6 durchschnitt, 7 dunkelste, 8 hellste, 9 Normalgrau")
PrintN("Der Durchschnitt ist uebrigens das selbe wie das Original ohne Saettigung!")
PrintN("Zufallszahlenraum von -9 bis -1, Effekt 0 bis 9")
PrintN("Das Rauschen von -7 bis -9 kann nicht durch Entsaettigung bereinigt werden!")
PrintN(">> Ansonsten mit Effekt 6 durch Raufziehen der .FL-Datei entfernbar")
PrintN("")
Print("(Bitte nur Ganze! eine Zahl): ");
Inpu.s=Input()
Eingabe.l=Val(Inpu)
CloseConsole()
Anzahl=CountProgramParameters()
For Index = 0 To Anzahl-1
LoadImage(#Image,ProgramParameter(Index))
StartDrawing(ImageOutput(#Image))
For y=0 To ImageHeight(#Image)-1
For x=0 To (ImageWidth(#Image)-1)
RR.l : GG.l : BB.l : p.l : R.l : G.l : B.l : Z.l
p=Point(x,y)
R=Red(p)
G=Green(p)
B=Blue(p)
If Eingabe<0
Z=Random(Abs(Eingabe))
Else
Z=Eingabe
EndIf
If Z=0
RR=R
GG=G
BB=B
EndIf
If Z=1
RR=R
GG=B
BB=G
EndIf
If Z=2
RR=B
GG=G
BB=R
EndIf
If Z=3
RR=B
GG=R
BB=G
EndIf
If Z=4
RR=G
GG=B
BB=R
EndIf
If Z=5
RR=G
GG=R
BB=B
EndIf
If Z=6
RR=(R+G+B)/3
GG=RR
BB=RR
EndIf
If Z=7
RR=R
If RR>G
RR=G
EndIf
If RR>B
RR=B
EndIf
GG=RR
BB=RR
EndIf
If Z=8
RR=R
If RR<G
RR=G
EndIf
If RR<B
RR=B
EndIf
GG=RR
BB=RR
EndIf
If Z=9
RR=R*0.3+0.59*G+0.11*B
GG=RR
BB=RR
EndIf
Plot(x,y,RGB(RR,GG,BB))
Next
Next
StopDrawing()
SaveImage(#Image,ProgramParameter(Index)+".FL")
Next
>>>>
Würde für mich selbst das gern als PhotoShop-PlugIn machen wollen.
Oder dann auch für andere ...
Hat jemand vielleicht eine Ahnung wie ich das anstelle, wo ich mich da belesen kann?
Oder ist jemand so fix, dass er es schon bevor er mir den Link schicken könnte schon selbst programmiert hat ... dann freue ich mich auf eine persönliche Nachricht und eure Unterstützung.
Lieben Dank. Gruß, Folker
