Delphi Hilfe

12/03/2013 19:32 Saedelaere*#16
Welche Fehler denn genau? Ich vermute mal du hast eine alte Version von Delphi, die noch keine Unit Namespaces kennt. Einfach mal bei allen Units in der uses Klausel die Namespace (das was vor dem letzten "." steht) entfernen.
12/03/2013 21:02 Ky0n'#17
das habe ich schon gemacht. MIr gehts aber auch woanders drumm: Das ist nicht so wie ich mir das vorgestellt habe :D

Ist es nicht möglich mit Canvas nur einen bestimmten Ausschnitt mit anderen von Canvas erzeugten Objekten zu zeichen?
12/03/2013 21:16 Saedelaere*#18
Ich weiß nicht ganz, wie du das meinst, aber mit Canvas.CopyRect() ist es möglich einen über ein TRect definierten Ausschnitt in einen ebenfalls durch ein TRect definierten Ausschnitt eines anderen Canvas zu zeichnen.
12/04/2013 09:04 Ky0n'#19
Also, ich will praktisch nichts bewegen, sondern nur andere Ausschnitte zeichnen. Also Praktisch: Mein Canvas sucht den richtigen Ausschnit (zb 400x555) und zeichnet diesen dann in das Form. Logischerweise braucht man dafür ja dann keine spezielle render funktion, da die kooridiaten zb immer noch 435|520 von einem punkt sind.
12/04/2013 10:18 マルコ#20
Quote:
Originally Posted by Drag0n' View Post
Also, ich will praktisch nichts bewegen, sondern nur andere Ausschnitte zeichnen.
Quote:
Originally Posted by Saedelaere* View Post
Ich weiß nicht ganz, wie du das meinst, aber mit Canvas.CopyRect() ist es möglich einen über ein TRect definierten Ausschnitt in einen ebenfalls durch ein TRect definierten Ausschnitt eines anderen Canvas zu zeichnen.
Code:
  x := getVisibleTopLeftCornerX;
  y := getVisibleTopLeftCornerY;
  Form1.Canvas.CopyRect(TRect.Create(0,0,0,0),MapCanvas,TRect.Create(x,y,mapWidth-x-Form1.Width, mapHeight-y-Form1.Height)));
Ist es so schwer, mal selbst zu denken?
12/04/2013 16:08 Ky0n'#21
Quote:
Originally Posted by マルコ View Post
Code:
  x := getVisibleTopLeftCornerX;
  y := getVisibleTopLeftCornerY;
  Form1.Canvas.CopyRect(TRect.Create(0,0,0,0),MapCanvas,TRect.Create(x,y,mapWidth-x-Form1.Width, mapHeight-y-Form1.Height)));
Ist es so schwer, mal selbst zu denken?
Danke für deine Hilfe. Ich habe auch gedacht, bitte unterschätze nicht wie lange ich daran gearbeitet habe und es einfach nicht hinbekam.

€: Das funktioniert vom Prinzip her gut, allerdings macht das bei mir (egal welche Einstellungen ich für das Rect nehme) immer die verkleinerung der ganzen map, auf meisten 20x20pixel ohne das ich die irgendwie angebe?
€2: OK geht jetzt doch, war wohl ein einfacher Vertauschungsfehler. Allerdings, bei einem Delphi Form, ist doch der Ursprung oben links, oder? Denn wenn ich als Ausgabe rectangle 0,0 also Topleft angebe, wird immer ein Teil außerhalb meiner Form erzeugt??