Einzelnen Beitrag anzeigen

Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#3

AW: GDI und GDI+ Konfusion: Welches Canvas ist gemeint?

  Alt 3. Okt 2011, 12:55
Hallo freeway,

ach... wenns doch so einfach wäre

1te Frage
die 3er & 5er Zeilen sollten unabhängig voneinander sein, 3er erzeugt ein Bild, 5er malt was
evtl. hilft nach dem Auskommentieren nochmals das Program zu compilieren & erzeugen
Das hilft leider garnicht -- und dass diese Zeilen unabhängig voneinander sein sollten, hatte ich auch gedacht, deswegen ja meine Anfrage. Ich kann ja mal demonstrieren, dass sie nicht unabhängig voneinander sind:
Das nachfolgende Coding erzeugt ein Bild1. Danach lösche ich Zeile 3 (Graphics.DrawImage()) und erhalten Bild2. Danach lösche ich die ersten 3 Zeilen komplett und erhalte Bild3.
Delphi-Quellcode:
procedure TMeineNeueKlasse.DrawColorBar;
var
  Graphics : IGPGraphics;
  ColorBar : IGPBitmap;

begin

  ColorBar := TGPBitmap.Create ( 50, 50 );
  Graphics := TGPGraphics.Create( Canvas.Handle );
  Graphics.DrawImage( ColorBar, 0, 50 );

  Canvas.Pen.Color := clRed;
  Canvas.Rectangle( Rect( 10, 450, 410, 465 ) );

  Canvas.Refresh;

end;
Auf Bild1 sieht man den roten Rahmen unterhalb des Schachbretts -- der m.E. mit einfachen GDI Mitteln gezeichnet wurde. Und obwohl die ersten drei Zeilen (GDI+) keine Verbindung zum Canvas haben (?) sind sie doch die Voraussetzung, dass überhaupt was gezeichnet wird. Dieses Verhalten verstehe ich nicht.

2te Frage
3 Zeilen die Grösse ist vorgegeben, der Rest ist dann nicht sichtbar
5 Zeilen der (Tform) Canvas ist beliebig erweiterbar, mach mal das fenster grösser oder kleiner
Die Größe des GDI+Bitmaps ist tatsächlich vorgegeben -- aber wieso ist die Position auf das Schachbrett begrenzt?

Herrjeh, ich hoffe ich konnte mein Problem etwas verständlicher beschreiben.

Lieben Dank
Jazzman
Miniaturansicht angehängter Grafiken
bilder.png  
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat