AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TCanvas

Ein Thema von nailor · begonnen am 18. Jan 2003 · letzter Beitrag vom 19. Jan 2003
Antwort Antwort
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#1

TCanvas

  Alt 18. Jan 2003, 20:26
Wo gibt es eine Einführung zu der Komponente. Ich komm damit nicht zurecht. Ich will nur ein Canvas erstellen, die Größe einstellen, etwas drauf rummalen (das kann ich mittlerweile) und es dann in Image1 anzeigen. Aber irgendwie krieg ich es nicht hin.
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2
  Alt 19. Jan 2003, 00:02
TCanvas ist keine Komponente. Es ist eine Kapselung der GDI Funktionen von Windows. Wenn du im Hintergrund (also nicht sichtbar) zeichnen und das Ergebnis dann in einer TImage Komponente darstellen willst, solltest du auf die Canvas eins TBitmap zeichnen.

Delphi-Quellcode:
var Bmp: TBitmap;
begin
  Bmp := TBitmap.Create;
  try
    Bmp.Width := 200;
    Bmp.Height := 200;

    with Bmp.Canvas do
    begin
      Rectangle(10, 10, 190, 190);
    end;

    Image1.Picture.Assign(Bmp); // Bild anzeigen
  finally
    Bmp.Free;
  end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#3
  Alt 19. Jan 2003, 00:52
Das wars eigentlich auch schon. Aber warum beschwert Delphi sich nicht, wenn man eine Variable als TCanvas deklariert, und ihr dann TCanvas.Create(self) zuweist?
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 19. Jan 2003, 02:17
Moin Nailor,

warum sollte sich Delphi beschweren, wenn einer Variablen vom Typ TCanvas ein Objekt von Typ TCanvas zugewiesen wird?
Dann dürfte auch die Zuweisung eines integer Wertes an eine als integer deklarierte Variable nicht funktionieren.

Oder hab' ich da jetzt etwas falsch verstanden?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5
  Alt 19. Jan 2003, 08:34
Zitat von Nailor:
Aber warum beschwert Delphi sich nicht, wenn man eine Variable als TCanvas deklariert, und ihr dann TCanvas.Create(self) zuweist?
Der Konstruktor von Canvas hat keine Parameter.
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#6
  Alt 19. Jan 2003, 11:36
Zitat von Christian Seehase:
Moin Nailor,

warum sollte sich Delphi beschweren, wenn einer Variablen vom Typ TCanvas ein Objekt von Typ TCanvas zugewiesen wird?
Dann dürfte auch die Zuweisung eines integer Wertes an eine als integer deklarierte Variable nicht funktionieren.

Oder hab' ich da jetzt etwas falsch verstanden?
nö, richtig verstanden. Aber warum sollte man eine Variable erstellen, bzw. einer Variablen was zuweisen können, wenn man damit nachher eh nix mehr mit anfangen kann? Wenn man die TCanvas-Variable dann einem Image zuweisen könnte wäre ja alles OK, aber es geht ja nicht.

Zitat von jbg:
Der Konstruktor von Canvas hat keine Parameter.
ups. Kommt davon, wenn man es nicht erst nochmal in Delphi testet. Aber jedenfalls, wenn man sie erstellt, kann man nicht mit weiterarbeiten. Wenn man ein TBitmap erstellt, kann man aber mit dessen Canvas arbeiten...
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7
  Alt 19. Jan 2003, 16:08
Eine Canvas ist nicht die Zeichenfläche selbst. Sie liefert nur die Funktionen, um auf einer Zeichenfläche zu malen. Wenn du also eine neue Canvas erstellst, gibt es nichts worauf diese zeichnen kann. Damit dies erst möglich wird, muss man der Handle-Eigenschaft der Canvas einen (gültigen) Gerätekontext (DC) zuweisen.
  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 04:57 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