Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Rectangle Attribute (https://www.delphipraxis.net/147897-rectangle-attribute.html)

Jazzman_Marburg 18. Feb 2010 14:59


Rectangle Attribute
 
Moin Gemeinde!

Kann mir mal jemand schnell auf die Sprügen helfen: Gab es da nicht mal Attribute, die man für das Zeichnen (z.B. Rectangle) setzen konnte, mit denen man die äußeren oder inneren Ecken mit malt?

Also, ich meine Folgendes:
Ich habe ein Canvas mit den Maßen 100 x 100 Pixel. Nun möchte ich ein Rectangle um/auf dieses Canvas malen, mit einem Pen.Width = 6.
Gab es da nicht so Attribute, die dafür sorgen, dass die 6 Punkte starke Linie nun innerhalb der 100 x 100 erscheint, oder ob das Rechteck quasi um die 100 x 100 Pixel gemalt wird?

Bisschen verwirrend das alles, aber da mir keine bessere Erklärung gerade einfällt (und deswegen Tante Google auch nicht direkt half) hoffe ich, dass ihr versteht, was ich meine.

Vielen Dank & Gruß
Jazzman

Wolfgang Mix 18. Feb 2010 15:06

Re: Rectangle Attribute
 
Schaue mal hier hier

Jazzman_Marburg 18. Feb 2010 15:23

Re: Rectangle Attribute
 
Hi Wolfgang,

ich verstehe den Hinweis nicht (dort habe ich schon geschaut) -- vielleicht war es doch ein wenig missverständlich:
Nehmen wir an, ich habe ein Canvas der Größe 100 x 100.
Nun möchte mit Pen.Width=6 ein Rechteck um diese Canvas zeichnen:

Delphi-Quellcode:
Image.Canvas.Rectangle(0, 0, Image.Width, Image.Height);
Frage:
Ist das resultierende Leere Rechteck (ohne die Linien) nun 94 x 94 Pixel groß? Liegen alle Linien nun innerhalb des Canvases?

Ich meine mich erinnern zu können, dass man mittels Attributen bestimmen könnte, ob das umgebende Rechteck nun innerhalb oder ausßerhalb (oder halb/halb) des Canvas liegt.

Aber vielleicht stehe ich auch gerade mal wieder auf dem Schlauch...

Danke & Gruß
Jazzman

Wolfgang Mix 18. Feb 2010 16:00

Re: Rectangle Attribute
 
Die Linien liegen nicht alle innerhalb von TImage, probiere:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  with Canvas do
  begin
    pen.width:=6;
    rectangle(0,0,100,100);//rectangle(6,6,100,100)
  end;
end;
Mit
Delphi-Quellcode:
rectangle(6,6,100,100)
liegen sie innerhalb

Hawkeye219 18. Feb 2010 16:03

Re: Rectangle Attribute
 
Hallo Jazzman,

mit dem Stil psInsideFrame kannst du - unabhängig von der Stiftbreite - einen Rahmen innerhalb eines gegebenen Rechtecks zeichnen:

Delphi-Quellcode:
Canvas.Brush.Style := bsClear;

Canvas.Pen.Width := 19;
Canvas.Pen.Style := psInsideFrame;
Canvas.Pen.Color := clYellow;
Canvas.Rectangle (20, 20, 180, 120);

Canvas.Pen.Color := clBlack;
Canvas.Pen.Width := 1;
Canvas.Pen.Style := psSolid;
Canvas.Rectangle (19, 19, 181, 121);
Gruß Hawkeye

Jazzman_Marburg 18. Feb 2010 16:11

Re: Rectangle Attribute
 
Juhhu! :-D

Danke Hawkeye219!
Das war es, was ich gesucht habe!

Danke & Gruß
Jazzman


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:27 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