Kannst du ja mit Canvas machen!
Ich bin nicht so gut mit Canvas, jedoch habe ich mal einen Code für dich geschrieben, welcher einen Kreis um das Bild zeichnet!
Delphi-Quellcode:
procedure TForm2.Image1Click(Sender: TObject);
var r : Trect;
begin
//Tag 0 -> Nicht markiert, Tag 3 -> Markiert
if(Sender AS TImage).Tag = 0 then begin
r := (Sender AS Timage).BoundsRect;
//Erfassen von den Größen
r.Left := r.Left -5;
r.Top := r.Top - 5;
r.Right := r.Right + 5;
r.Bottom := r.Bottom + 5;
//Farbe einstellen
Canvas.Brush.Color := clCream;
Canvas.Pen.Style := psClear;
//Kreis zeichnen
Canvas.Ellipse(r);
//Die Grafik des Images malen
//Sonst währe Sie im Hintergrund
Canvas.Draw(r.Left+5,r.Top+5,(Sender As TImage).Picture.Graphic);
//Markiert
(Sender AS TImage).Tag := 3;
end else begin
//Erfassen von den Größen
r := (Sender AS Timage).BoundsRect;
r.Left := r.Left -5;
r.Top := r.Top - 5;
r.Right := r.Right + 5;
r.Bottom := r.Bottom + 5;
//Farbe einstellen(Hintergrund-Farbe)
Canvas.Brush.Color := Form2.Color;
Canvas.Pen.Style := psClear;
//Zeichnen
Canvas.Rectangle(r);
//Grafik neu zeichnen, sodass diese wieder zu sehen ist
Canvas.Draw(r.Left+5,r.Top+5,(Sender As TImage).Picture.Graphic);
//Nicht markiert
(Sender AS TImage).Tag := 0;
end;
end;
lg