bild umfärben
-
- Beiträge: 173
- Registriert: 30.11.2010 02:34
bild umfärben
hallo leute,
mal eine frage, dies mal nur unter windows. wäre auch für eine universelle lösung dankbar.
ich brauche eine möglichkeit, womit ich ein png oder jpeg bild, das ich in das programm hineinlade umfärben kann. das heißt, dessen farben manipulieren kann.
schließlich wird das bild als eine neue datei abgespeichert.
mfg
kurt
mal eine frage, dies mal nur unter windows. wäre auch für eine universelle lösung dankbar.
ich brauche eine möglichkeit, womit ich ein png oder jpeg bild, das ich in das programm hineinlade umfärben kann. das heißt, dessen farben manipulieren kann.
schließlich wird das bild als eine neue datei abgespeichert.
mfg
kurt
Re: bild umfärben
Einfach das Bild als Image laden,
alle Pixel abfahren, auslesen, manipulieren und schreiben.
Manipulation() ist dann irgendeine Procedure, welche die Farbe ändert ...
alle Pixel abfahren, auslesen, manipulieren und schreiben.
Code: Alles auswählen
For y = 0 To Height-1
For x = 0 to Width-1
Color = Point(x,y)
Color = Manipulation(Color)
Plot(x,y, Color)
Next
Next
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: bild umfärben
Wobei Point() und Plot() jeweils ein eigenes StartDrawing() + StopDrawing() benötigen. Es braucht also noch ein Array zum Zwischenspeichern der Farbdaten.STARGÅTE hat geschrieben:Einfach das Bild als Image laden,
alle Pixel abfahren, auslesen, manipulieren und schreiben.Manipulation() ist dann irgendeine Procedure, welche die Farbe ändert ...Code: Alles auswählen
For y = 0 To Height-1 For x = 0 to Width-1 Color = Point(x,y) Color = Manipulation(Color) Plot(x,y, Color) Next Next
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Re: bild umfärben
Hm??? Geht doch beides in einem:DrFalo hat geschrieben:Wobei Point() und Plot() jeweils ein eigenes StartDrawing() + StopDrawing() benötigen. Es braucht also noch ein Array zum Zwischenspeichern der Farbdaten.STARGÅTE hat geschrieben:Einfach das Bild als Image laden,
alle Pixel abfahren, auslesen, manipulieren und schreiben.Manipulation() ist dann irgendeine Procedure, welche die Farbe ändert ...Code: Alles auswählen
For y = 0 To Height-1 For x = 0 to Width-1 Color = Point(x,y) Color = Manipulation(Color) Plot(x,y, Color) Next Next
Code: Alles auswählen
LoadImage(1, ---=== hier Name einfügen ===---)
If StartDrawing(ImageOutput(1))
Width = ImageWidth (1)
Height = ImageHeight(1)
For y = 0 To Height-1
For x = 0 to Width-1
Color = Point(x,y)
Color = Manipulation(Color)
Plot(x,y, Color)
Next
Next
StopDrawing()
EndIf
SaveImage(1, ---=== hier Name einfügen ===---)



http://www.jasik.de - Windows Hilfe Seite
padawan hat geschrieben:Ich liebe diese von hinten über die Brust ins Auge Lösungen
Re: bild umfärben
Theorie <> PraxisCSHW89 hat geschrieben:Hm??? Geht doch beides in einem:Code: Alles auswählen
LoadImage(1, ---=== hier Name einfügen ===---) If StartDrawing(ImageOutput(1)) Width = ImageWidth (1) Height = ImageHeight(1) For y = 0 To Height-1 For x = 0 to Width-1 Color = Point(x,y) Color = Manipulation(Color) Plot(x,y, Color) Next Next StopDrawing() EndIf SaveImage(1, ---=== hier Name einfügen ===---)

Probier es real aus und ändere auch tatsächlich die Farben, dann siehst du es...
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Re: bild umfärben
Eigentlich gibt es ja noch ein etwas anderen Weg:
Also CustomFilterCallback()
Ich habe n Zeitmessung mit eingebaut, damit ihr nicht denkt das der CustomFilterCallback so lange braucht, sonden der Download^^
Auf jedenfall ist das ein einfaches Beispiel einer Farbrotation in unserem Union Bytes Logo ^^
Code: Alles auswählen
Enumeration
#SourceImage
#DestinationImage
EndEnumeration
InitNetwork()
UsePNGImageDecoder()
ReceiveHTTPFile("http://data.unionbytes.de/UnionBytesIcon.png", GetTemporaryDirectory()+"UnionBytesIcon.png")
LoadImage(#SourceImage, GetTemporaryDirectory()+"UnionBytesIcon.png")
CreateImage(#DestinationImage, ImageWidth(#SourceImage), ImageHeight(#SourceImage), 32|#PB_Image_Transparent)
Debug "Downloaded"
Procedure ColorRotation(x, y, Color, Color2)
ProcedureReturn RGBA(Green(Color), Blue(Color), Red(Color), Alpha(Color))
EndProcedure
Time = ElapsedMilliseconds()
StartDrawing(ImageOutput(#DestinationImage))
DrawingMode(#PB_2DDrawing_CustomFilter)
CustomFilterCallback(@ColorRotation())
DrawImage(ImageID(#SourceImage), 0, 0)
StopDrawing()
Debug "Drawing"
Title$ = "Beispiel in "+Str(ElapsedMilliseconds()-Time)+"ms"
OpenWindow(#PB_Any, 0, 0, ImageWidth(#SourceImage)*2, ImageHeight(#SourceImage), Title$, #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
ImageGadget(#PB_Any, 0, 0, 0, 0, ImageID(#SourceImage))
ImageGadget(#PB_Any, ImageWidth(#SourceImage), 0, 0, 0, ImageID(#DestinationImage))
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
Ich habe n Zeitmessung mit eingebaut, damit ihr nicht denkt das der CustomFilterCallback so lange braucht, sonden der Download^^
Auf jedenfall ist das ein einfaches Beispiel einer Farbrotation in unserem Union Bytes Logo ^^
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
-
- Beiträge: 173
- Registriert: 30.11.2010 02:34
Re: bild umfärben
hallo leute,
danke für die beispiele. ich werde mich damit auseinander setzen.
viele dank.
mfg
kurt
danke für die beispiele. ich werde mich damit auseinander setzen.
viele dank.
mfg
kurt