AGB  ·  Datenschutz  ·  Impressum  







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

Farben ersetzen

Ein Thema von Jarmen_Kell · begonnen am 19. Mär 2005 · letzter Beitrag vom 25. Feb 2006
 
Jarmen_Kell

Registriert seit: 17. Mär 2005
188 Beiträge
 
#1

Farben ersetzen

  Alt 19. Mär 2005, 20:25
Hallo,
also ich weiß, die Frage ist mal wieder auf etwas tieferem Niveau, aber irgendwie komm ich nicht dahinter.
Die folgende Prozedur soll in einem Bestimmten Bereich auf einem TCanvas alle Pixel, die eine bestimmte Farbe haben, durch eine andere Farbe ersetzen.
Der Bereich wird durch MouseDown und MouseUp auf dem Image festgelegt.
Bei dieser Prozedur:

Delphi-Quellcode:
procedure Tmainform.colorchange;
var
  Ix,Iy:Integer;
begin
  for Ix:=moused.X to current.X do
    for Iy:=moused.Y to current.Y do
      if img.Canvas.Pixels[Ix,Iy]=pencolor
        then img.Canvas.Pixels[Ix,Iy]:=brushcolor;
end;
geht das ganze nur, wenn der Erste punkt, also der MouseDown-Punkt auf dem Canvas der OBEN LINKS ist.

ich habe dann folgendes geschrieben:

Delphi-Quellcode:
procedure Tmainform.colorchange;
var
  Ix,Iy:Integer;
  x1,x2,y1,y2:Integer;
begin
  if moused.X < current.X then x1:=moused.X else x1:=current.X;
  if moused.Y < current.Y then y1:=moused.Y else y1:=current.Y;
  if moused.X < current.X then x2:=current.X else x2:=moused.X;
  if moused.Y < current.Y then y2:=current.Y else y2:=moused.Y;
  for Ix:=x1 to x2 do
    for Iy:=y1 to y2 do
      if img.Canvas.Pixels[Ix,Iy]=pencolor
        then img.Canvas.Pixels[Ix,Iy]:=brushcolor;
end;
Das geht "natürlich" wunderbar, aber ich frage mich, warum die andere Version nicht funktioniert.
Wäre schön, wenn das jemand beantworten könnte.
  Mit Zitat antworten Zitat
 


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 21:21 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 by Thomas Breitkreuz