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 3 von 3     123   
Benutzerbild von Martin K
Martin K

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

Re: Negativ bei TImage

  Alt 17. Apr 2006, 15:48
Zitat von xaromz:
Hallo,

das ist üblicher:
Delphi-Quellcode:
function Umkehrfarbe(const Color: TColor): TColor;
begin
  Result := not ColorToRGB(Color);
end;
Gruß
xaromz
Ne, das funzt irgendwie nicht.
Da bekomme ich ja negative Zahlen raus...
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#22

Re: Negativ bei TImage

  Alt 17. Apr 2006, 15:50
Hallo,
Zitat von Martin K:
Ne, das funzt irgendwie nicht.
Da bekomme ich ja negative Zahlen raus...
Ja, und?

Gruß
xaromz
  Mit Zitat antworten Zitat
Hawkeye219

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

Re: Negativ bei TImage

  Alt 17. Apr 2006, 15:53
Hier noch mal ein dezenter Hinweis auf CopyMode:

Delphi-Quellcode:
BMP.Canvas.CopyMode := cmDstInvert;
BMP.Canvas.Draw (0, 0, BMP);
Der Code invertiert das komplette Bild ohne Berücksichtigung einer Farbe.

Zitat von xaromz:
Delphi-Quellcode:
B := P[x * 3]; // Die einzelnen Farbwerte holen
G := P[x * 3 + 1];
R := P[x * 3 + 2];

if R = 255 then // wenn Rotanteil voll
Auch bei weiß ist der Rotanteil "voll"

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
 
#24

Re: Negativ bei TImage

  Alt 17. Apr 2006, 15:55
Zitat von xaromz:
Hallo,
Zitat von Martin K:
Ne, das funzt irgendwie nicht.
Da bekomme ich ja negative Zahlen raus...
Ja, und?

Gruß
xaromz
Hab mir sowas gebastelt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  If ColorDialog1.Execute then
    Form1.Color := not ColorToRGB(ColorDialog1.Color);
end;
Entweder bleibt dann die Farbe meiner Form (clBtnFace) oder sie wird schwarz.

Das hier dagegen funzt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  If ColorDialog1.Execute then
    Form1.Color := $FFFFFF-ColorDialog1.Color;
end;
Meine Form hat dann immer die Komplimentärfarbe von der im Colordialog.
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#25

Re: Negativ bei TImage

  Alt 17. Apr 2006, 15:56
Zitat von xaromz:
Hallo,
Zitat von turboPASCAL:
Und was ?
 p[x] := rgb(255 - p[x], 255 - p[x], 255 - p[x]); Du weist einem Byte einen RGB-Farbwert (Integer) zu, den Du auch noch mit dreimal dem gleichen Wert erstellst.

Gruß
xaromz
Stimmt, ausgebessert.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Hawkeye219

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

Re: Negativ bei TImage

  Alt 17. Apr 2006, 16:01
Zitat von turboPASCAL:
Stimmt, ausgebessert.
Nöö, verschlimmbessert!

Schaue Dir die x-Schleife noch mal genau an...

Gruß Hawkeye
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#27

Re: Negativ bei TImage

  Alt 17. Apr 2006, 16:07
Hallo,

da hatte ich wohl auch einen kleinen Fehler drin. So ist's richtig:
Delphi-Quellcode:
function Umkehrfarbe(const Color: TColor): TColor;
begin
  Result := not ColorToRGB(Color) and $FFFFFF; // Erstes Byte muss null sein
end;
@Hawkeye: Das mit dem Rotanteil war ja nur ein Beispiel...

Gruß
xaromz
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 19:51 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