AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Negativ bei TImage

Ein Thema von Martin K · begonnen am 17. Apr 2006 · letzter Beitrag vom 17. Apr 2006
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#1

Negativ bei TImage

  Alt 17. Apr 2006, 13:31
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
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Negativ bei TImage

  Alt 17. Apr 2006, 13:38
Über Delphi-Referenz durchsuchenTCanvas.CopyMode dürftest Du die Lösung finden.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Negativ bei TImage

  Alt 17. Apr 2006, 13:42
Danke, werd ich mal ausprobieren...
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#4

Re: Negativ bei TImage

  Alt 17. Apr 2006, 13:49
Zitat von Martin K:
In Paint geht das schließlich auch ganz einfach:
Bild -> Farben umkehren
Hihi,
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
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Negativ bei TImage

  Alt 17. Apr 2006, 14:48
Zitat von Airblader:
Hihi,
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
Ja, das ist mir schon klar!
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?
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Negativ bei TImage

  Alt 17. Apr 2006, 14:56
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.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#7

Re: Negativ bei TImage

  Alt 17. Apr 2006, 14:57
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"


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Negativ bei TImage

  Alt 17. Apr 2006, 15:00
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).
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Negativ bei TImage

  Alt 17. Apr 2006, 15:06
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"?
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
heiopei
(Gast)

n/a Beiträge
 
#10

Re: Negativ bei TImage

  Alt 17. Apr 2006, 15:12
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz