Zitat von
Delphi_Fanatic:
ich hab' das Gefühl, bei einem TCanvas, das auf einem Bildschirm dargestellt wird, ist ab 32xxx Pixels Schluss ist.
Ist das korrekt ?
Kann in der Vertikalen nichts mehr dargestellt werden, wenn die Y-Koordinate > ca. 32000 ist ?
In deinem Falle wird das wohl nur an einer Größenbeschränkung des TBitmaps liegen. Aber für das TCanvas an sich existiert dieses Limit nicht.
Legt man nämlich mal z.B. auf eine ScrollBox eine PaintBox (mit Align=alClient) und dehnt diese ScrollBox1 dann über ihre Properties "VertScrollBar.Range/HorzScrollBar.Range" auf jeweils z.B. 50000 Pixels aus, dann kann man sehr wohl mittels der Canvas auch in diese Bereiche reinzeichnen.
(...ist z.B. dann nötig, wenn ein (errechnetes Zoom-)Bild größer ist als der Screen. Dann baut man das dann ohnehin nur ausgebbare Teilbild in einem entsprechend kleineren Bitmap auf und läd dieses dann per BitBlt in den Bereich der PaintBox, welcher auch nur gerade in der ScrollBox angezeigt ist. Dabei ist der BitBlt-Ziel-Parameter auch die PaintBox1.Canvas und die Ziel-X/Y-Koordinaten dafür können ebenfalls größer als 32xxx sein.)
Übrigens, in Deinem Falle hättest Du auch mal versuchen können, das Bitmap.PixelFormat auf z.B. "pf1Bit" (also auf 1Bit/Pixel Tiefe) herunterzusetzen o.ä.. Sehr gut möglich, dass Du damit auch noch über dieses 32767-Limit hinausgekommen wärst.