![]() |
Automatische Erkennung ob Pixel in Kreis funktioniert nicht
Hallo,
ich möchte dass mein Programm automatisch erkennt ob ein Pixel im Kreis liegt oder nicht und diesen gegebenenfalls einfärbt. (soll nicht per fill geschehen). Leider funktioniert nur die manuelle Eingabe, aber nicht die komplette suche über das ganze Bild. Wäre nett, wenn mir jemand helfen oder einen Tipp geben könnte damit ich es hinbekomme.
Code:
procedure TForm1.Button4Click(Sender: TObject);
var i, j : Integer; A : TPoint; begin try A.X := i; //StrToInt (Edit3.Text) ; // i; A.Y := j; //StrToInt (Edit4.Text) ; // j; for i := 0 to Breit-1 do for j := 0 to Hoch-1 do begin if sqrt(sqr(A.X - M.X) + sqr(A.Y - M.Y)) <= Radius1 then Image1.Picture.Bitmap.Canvas.Pixels[A.X,A.Y] := clBlack ; end; except ShowMessage ('Fuck my Life!'); end; end; |
AW: Automatische Erkennung ob Pixel in Kreis funktioniert nicht
Überleg mal wann (wie oft) hier A.X und A.Y zugewiesen werden ....
|
AW: Automatische Erkennung ob Pixel in Kreis funktioniert nicht
Zitat:
|
AW: Automatische Erkennung ob Pixel in Kreis funktioniert nicht
Zitat:
Vielen Dank! Ist jetzt zwar erstmal nur mit i und j als Variablen gelöst, aber mal schaun ob das für den weiteren Verlauf erstmal reicht. Nochmal Danke! :thumb: |
AW: Automatische Erkennung ob Pixel in Kreis funktioniert nicht
MisterKnister, denke daran, dass
Delphi-Quellcode:
keine mathematische Gleichsetzung, sondern eine Zuweisung ist! Delphi führt deine Anweisungen Schritt für Schritt von oben nach unten aus. Jetzt guck dir mal an, wo du A.X bzw. A.Y zuweist, und wo die Schleife beginnt.
:=
Edit: Ok, war etwas zu langsam... |
AW: Automatische Erkennung ob Pixel in Kreis funktioniert nicht
Zitat:
In Delphi gibt der Compiler z.B. eine Warnung aus, ala "Variable sei nicht initialisiert". Wenn man sich das mal durchlesen und auf den Compiler hören würde, dann wäre das Leben viel leichter. |
AW: Automatische Erkennung ob Pixel in Kreis funktioniert nicht
Zitat:
Sorry, aber ich bin sozusagen auch noch Delphi Neuling, und deshalb sagen mir diese Hilfen (die ich natürlich lese) allerdings nicht immer etwas was mir zur Lösung hilft, und in diesem Falle stand da auch nichts davon ;) Aber falls solche Fragen nicht in dieses Forum gehören ist es auch okay und ich werde mir gegebenenfalls ein Noobie Forum suchen. Soll nicht böse klingen, aber so habe ich deinen Beitrag leider interpretiert.*) Hilfe somit angekommen =) Danke! |
AW: Automatische Erkennung ob Pixel in Kreis funktioniert nicht
Zitat:
|
AW: Automatische Erkennung ob Pixel in Kreis funktioniert nicht
Zitat:
Delphi meint üblicher Weise Folgendes zu deinem Code, aus Beitrag #1. Zitat:
Delphi-Quellcode:
Da wird i und j verwendet, obwohl ihnen vorher kein Wert zugewiesen wurde.
A.X := i; //StrToInt (Edit3.Text) ; // i;
A.Y := j; //StrToInt (Edit4.Text) ; // j; Nja, zum Glück bist du nicht auf die Idee gekommen, i und j als globale Variablen zu deklarieren, sondern richtiger Weise lokal. :thumb: Sonst würde diese Meldung nicht kommen. (ein Grund mehr, warum globale Variablen böse sind) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:04 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