Größe von TImage und Zeichnen mit TCanvas

Hallo zusammen,

ich habe ein Programm, indem zur Laufzeit TImage’S angelegt, gezeichnet und auf dem Fenster positioniert werden.Dies klappt eigentlich ganz gut bis zu einer gewissen Größe der Images.D.h., wenn ich Height und Width einen gewissen(großen(so ca 400)) Wert zuweise und dann die Befehlsfolge eingebe:

Image->Canvas->MoveTo(1,1);
Image->Canvas->LineTo(Width-1,Height-1);

Zeichnet mir das Image lediglich einen kleinen Bereich in der linken oberen Ecke. Die Größenzuweisung hat aber funktioniert, d.h. das Image ist auch so groß wie es sein sollte, jedoch hört die Linie auf einmal mitten im Bild auf, anstatt es komplett einmal diagonal zu durchlaufen. Hat jemand eine Vermutung woran das liegen könnte?

Danke im Voraus

Sebastian

Hallo Sebastian,

könnte sein, dass Du im LineTo Befehl die Width und Height des Images verwenden solltest, um eine Diagonale zu zeichnen ?
etwa so:

Image-\>Canvas-\>LineTo(Image-\>Width-1,Image-\>Height-1);

In Deinem Fall wird Height und Width des Fensters verwendet, könnte da das Problem liegen ?

Gruss
Hans

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Hans,

es ist richtig,dass ich eine Diagonale zeichnen will. Es liegt aber leider nicht daran, dass der Compiler unter Width Form->Width versteht.
Er zeichnet ja auch in die richtige Richtung los, jedoch hört er jedesmal mitten im Bild auf zu zeichen, als ob das Bild nur 100x100 Pixel groß wäre. Es ist jedoch nachweislich viel größer.
Ich glaube, es muss etwas mit den sogenannten Clipping-Regionen zu tun haben. Hab leider keinen Plan davon und weiß auch nicht wie man die beeinflussen kann. Habe dazu folgendes Code-Beispiel:

HRGN hRgn = CreateRectRgn(50, 50, 250, 250);
SelectClipRgn(Canvas->Handle, hRgn);

Ich habe jedoch keine Ahnung, was das auf sich hat. Ich kann die Zahlen in der ersten Zeile willkürlich verändern(jedenfalls die letzten zwei Zahlen, die die Größe beschreiben). Es ändert sich nichts.
Haste schon mal was davon gehört?

Danke Sebastian

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]