![]() |
Negativ bei TImage
Hi,
gibt es eine einfache Möglichkeit, ein TImage negativ zu machen, also die Fraben umzukehren ? Oder muss ich da irgendeinen komplizierten Code machen, der jedes Pixel einzeln abfragt und seinen Farbwert umkehrt? In Paint geht das schließlich auch ganz einfach: Bild -> Farben umkehren |
Re: Negativ bei TImage
|
Re: Negativ bei TImage
Danke, werd ich mal ausprobieren...
|
Re: Negativ bei TImage
Zitat:
aber beachte doch, dass du das nicht vergleichen darfst ;) Was in Paint hinter diesem einem Klick steht weißt du doch nicht :) Du kannst dir auch komplizierte Funktionen dafür schreiben, sie aber mit einem Klick ausführen :) Aber wie gesagt geht es auch leichter ;) air |
Re: Negativ bei TImage
Zitat:
Aber so eine Funktion gibt es ja eigentlich in jedem Bildbearbeitungsprogramm. Gibt es eigentlich auch eine Möglichkeit, nur einzelne Farben umzukehren? Also z.B. will ich nur das, was rot in meinem Image ist (überall wo die Color=clRed ist) durch die Komlimentärfarbe von rot ersetzen. Alles andere soll aber die alte Farbe behalten. Ist das irgendwie möglich? |
Re: Negativ bei TImage
Das ist sicher möglich. Du könntest einfach jedes Pixel einzeln auslesen und dann neu setzen. Wobei du mit der Abfrage if pixel[x,y]=clred nicht viel Spaß haben wirst, da in einem normalen Bild sicher nur wenige Pixel exakt diese Farbe haben, das heisst, du müsstest dir einen Bereich an Farben überlegen, den du noch als 'Rot' anerkennst.
|
Re: Negativ bei TImage
Gehen würde das, bloß die Frage ist, was definierst du als "rot"?
Etwa den RGB-Wert #FF0000? Oder auch #DE2403? Beides ist irgendwo "rot" :stupid: Flare |
Re: Negativ bei TImage
Ne, der Farbwert muss schon einheitlich und genau sein (kein Farbbereich).
Ich verwende Symbole, die 32x32 groß sind, also sollte die Suche nach jedem einzelnen Pixel +ersetzen auch nicht sehr lange dauern (was bei größeren Bildern vielleicht eher ein Problem sein könnte). |
Re: Negativ bei TImage
Wie kann man das denn mit der Komplimentärfarbe anstellen?
Es müsste ja etwa so aussehen (bei rot): #FF0000 -> #00FFFF Ich müsste also jedem Bereich meiner Farbe (rot grün blau) den Wert: 255-alten Wert zuweisen. Wie kann ich denn einen Farbwert (Integer) in die Farbwerte der drei Grundfarben "zerlegen" und nachher wieder "zusammensetzen"? |
Re: Negativ bei TImage
also soweit ich mich erinnere, gibts da was im delphikochbuch 6 (muss nochmal suchen).
da wird scanline verwendet (also pointer). dabei kann man auch auf jedes byte (und damit die farbwerte) zugreifen. beim negieren der farben würd ich mal auf sowas wie "nor" tippen, ich schau jetzt aber gleich nochmal nach... bis dann, heiopei |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz