Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi ÜberObject von PaintBox und Image (https://www.delphipraxis.net/186588-ueberobject-von-paintbox-und-image.html)

Alexander I 15. Sep 2015 08:18

ÜberObject von PaintBox und Image
 
Hallo,

ich möchte eine Grafikroutine schreiben, bei der man beim instanziieren entscheiden kann ob auf eine PaintBox oder auf ein Image gemalt wird.

Delphi-Quellcode:
 grafik:= TGrafik.Create(paintBox1);
oder

Delphi-Quellcode:
 grafik:= TGrafik.Create(image1);

Die Konstruktoren:
Delphi-Quellcode:
constructor Create(paintBox : TPaintBox);
begin
zeichenFläche:= paintBox;
end;
constructor Create(image: TImage);
begin
zeichenFläche:= image;
end;
Die Frage ist nun : Gibt es sowas wie ein "TÜberObject" das es möglich ist der

Delphi-Quellcode:
zeichenFläche : TÜberObject
entweder eine PaintBox oder ein Image zu übergeben?
...das man dann folgendes tu kann:


Delphi-Quellcode:
procedure Draw();
begin
with zeichenFläche do
  Canvas.Pen.color := clWebDarkBlue;
 Canvas.Polyline(p1,p2,p3,p4);
end;

Gruß

Sir Rufo 15. Sep 2015 08:34

AW: ÜberObject von PaintBox und Image
 
Übergib doch einfach den Canvas, denn der interessiert dich doch, wenn du etwas malen möchtest ;)

mkinzler 15. Sep 2015 08:51

AW: ÜberObject von PaintBox und Image
 
Icgh würde gleich den Canvas Speichern.

Delphi-Quellcode:
FCanvas: TCanvas;

...

constructor Create(paintBox : TPaintBox);
begin
 FCanvas:= paintBox.Canvas;
end;

...

procedure Draw();
begin
  FCanvas.Pen.color := clWebDarkBlue;
  FCanvas.Polyline(p1,p2,p3,p4);
end;

Alexander I 15. Sep 2015 09:43

AW: ÜberObject von PaintBox und Image
 
Funktioniert.
Danke.


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