AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Auf TmetafileCanvas geht nicht zu zeichnen
Thema durchsuchen
Ansicht
Themen-Optionen

Auf TmetafileCanvas geht nicht zu zeichnen

Ein Thema von Alexander Roth · begonnen am 14. Jan 2006 · letzter Beitrag vom 14. Jan 2006
Antwort Antwort
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#1

Auf TmetafileCanvas geht nicht zu zeichnen

  Alt 14. Jan 2006, 09:40
Hallo Praxisler,

seit neustem beschäftige ich mich mit Metafiles.
Wenn ich nun ein einfaches metafile mit TmetafileCanvas zeichnen will, bleibt immer ein unformatiertes leeres Metafile zurück.


Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var wmf:Tmetafile;
begin
refresh;
wmf:=Tmetafile.Create;

wmf.Height:=100;
wmf.Width:=100;

with TMetafileCanvas.Create(wmf, 0) do
  begin
  Pen.Width:=0;
  Pen.Color:= clred;
  Brush.Color:= clblack;
  Brush.Style:=bssolid;

  //tropfen
  Ellipse(0,0,100,100);
  end;

form1.Canvas.StretchDraw(rect(0,0,wmf.Width,wmf.Height),wmf);

wmf.Free;
end;
Sowohl zeichnen auf die Canvas sieht man nix als auch in eine Datei abspeichern hinterlässt eine leere Datei.

Könnt ihr mir da helfen?
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
Insider2004
(Gast)

n/a Beiträge
 
#2

Re: Auf TmetafileCanvas geht nicht zu zeichnen

  Alt 14. Jan 2006, 09:46
Du musst ein MetafileCanvas.Free machen, um den Inhalt auf das Metafile zu übertragen. Siehe Help.
  Mit Zitat antworten Zitat
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Auf TmetafileCanvas geht nicht zu zeichnen

  Alt 14. Jan 2006, 10:26
Jo danke jetzt klappts.
Der richtige Code lautet:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var wmf:Tmetafile;
begin
refresh;
wmf:=Tmetafile.Create;

wmf.Height:=100;
wmf.Width:=100;

with TMetafileCanvas.Create(wmf, 0) do
  begin
  Pen.Width:=0;
  Pen.Color:= clred;
  Brush.Color:= clblack;
  Brush.Style:=bssolid;

  //tropfen
  Ellipse(0,0,100,100);
  free;
  end;

form1.Canvas.StretchDraw(rect(0,0,wmf.Width,wmf.Height),wmf);

wmf.Free;
end;
Tschüss
und bis zum nächstemmal.
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:17 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