Thema: Delphi Bildanalyse/-vergleich

Einzelnen Beitrag anzeigen

Slashmob

Registriert seit: 28. Okt 2011
45 Beiträge
 
#21

AW: Bildanalyse/-vergleich

  Alt 9. Dez 2011, 21:24
Nun steh ich wieder vor der Frage wie ich folgendes Problem lösen soll.
Ich muss nun um die gefundenen Punkte (X,Y), die im Stringgrid aufgelistet werden, ein Quadrat malen und dieses dann ausfüllen. (im Image3)
Hierfür hab ich zwei Prozeduren. Aber irgendwie verstehe ich nicht wie diese im Zusammenhang stehen.
Sowas hab ich leider noch nie gemacht.

Zum Beispiel weiß ich nicht was ich konkret für oldcolor einsetzen soll ( für fillcolor denk ich mal clred einsetzen) und wie ich diese Prozedur aufrufen kann.
Des Weiteren bin ich mir unsicher wie ich mit left_ und top_ umgehen soll. Ich vermute mal damit brauche ich nur die obere linke Ecke des Quadrats.

Ich sehe nur noch


Delphi-Quellcode:
procedure tform1.floodFill_(x,y,fillColor,oldColor: integer);
   begin
   with image3.canvas do
   if (pixels[x,y]=oldColor) then
      begin
      Pixels[x,y]:= fillcolor;
      floodFill_(x+1,y, fillcolor, oldColor);
      floodFill_(x-1,y, fillcolor, oldColor);
      floodFill_(x,y+1, fillcolor, oldColor);
      floodFill_(x,y-1, fillcolor, oldColor);
   end;
end;
Delphi-Quellcode:
procedure tform1.quadratmalen(image,top_,left_,kantenlaenge,farbe:integer);
   var
   x,
   y,
   kante // Kantenlänge des Quadrats
         :integer;

   begin
   kante:=spinedit2.value;
   quadratmalen(image1,x-(kante/2),y-(kante/2),kante,clred); // Quadratmalen mittels zeichnen der 4 Linien
   quadratmalen(image2,x-(kante/2),y-(kante/2),kante,clred); // und dann Füllen mit Füllfunktion
   quadratmalen(image3,x-(kante/2),y-(kante/2),kante,clred); // Ist dieser Zusammenhang richtig??
   quadratmalen(image4,x-(kante/2),y-(kante/2),kante,clred);
  
   case image of
      1:
         with form1.image1.canvas do
            begin
         end;
      2:
         with form1.image2.canvas do
            begin
            end;
      3: // nur im Image3 werden die Quadrate gemalt!
         with form1.image3.canvas do
            begin

         end;
      4:
         with form1.image4.canvas do
            begin
         end;
      end;
   end;
  Mit Zitat antworten Zitat