AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi TCanvas maximale vertikale ausdehnung 32xxx Punkte ?
Thema durchsuchen
Ansicht
Themen-Optionen

TCanvas maximale vertikale ausdehnung 32xxx Punkte ?

Ein Thema von Delphi_Fanatic · begonnen am 3. Jun 2008 · letzter Beitrag vom 9. Jun 2008
Antwort Antwort
Delphi_Fanatic

Registriert seit: 24. Mär 2004
201 Beiträge
 
#1

TCanvas maximale vertikale ausdehnung 32xxx Punkte ?

  Alt 3. Jun 2008, 10:36
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 ?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TCanvas maximale vertikale ausdehnung 32xxx Punkte ?

  Alt 3. Jun 2008, 10:39
Rechne mal aus wie viel Speicher ein solches Bild belegen würde.
Markus Kinzler
  Mit Zitat antworten Zitat
Delphi_Fanatic

Registriert seit: 24. Mär 2004
201 Beiträge
 
#3

Re: TCanvas maximale vertikale ausdehnung 32xxx Punkte ?

  Alt 3. Jun 2008, 10:43
Stell' Dir vor, es ist nur ein Canvas, auf dem mit "TextOut" texte ausgegeben werden.
Auf dem Drucker klappt es, aber auf dem Bildschirm wird kein Text mehr angezeigt, wenn
bei "TextOut (x,y, <String>);" die Y-Koordinate > 32000 ist.

Gehe ich also recht in der Annahme, dass bei > 32000 "Feierabend" ist ?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: TCanvas maximale vertikale ausdehnung 32xxx Punkte ?

  Alt 3. Jun 2008, 10:49
ich könnte mir vorstellen das da schluss ist (zwecks Mauskoordinanten die da auch an ihre Grenzen kommen). Aber welcher Bildschirm schafft 32768 Pixel in der vertikalen? Oder wieviel Bildschirme hast du angeschlossen um dies zu erreichen? Liegt hier nicht vielleicht ein Designfehler vor?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#5

Re: TCanvas maximale vertikale ausdehnung 32xxx Punkte ?

  Alt 3. Jun 2008, 10:58
Ich kann mich (dunkel ) erinnern, dass es unter Win95/98/ME Probleme gab, wenn Parameter für GDI-Funktionen aus dem 16-bit-Bereich rausgelaufen sind. Aber du sprichst schon von NT/XP/...?

Uli.
Uli Gerhardt
  Mit Zitat antworten Zitat
r29d43

Registriert seit: 18. Jan 2007
289 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: TCanvas maximale vertikale ausdehnung 32xxx Punkte ?

  Alt 8. Jun 2008, 18:30
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.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#7

Re: TCanvas maximale vertikale ausdehnung 32xxx Punkte ?

  Alt 9. Jun 2008, 08:42
Diese Frage wurde auch schon vor rund 10 Jahren gestellt und versucht zu klären, wodurch es zu diesem Experiment kam. In dem Link werden auch noch andere Dinge erläutert auf die man achten muss (z.B. erst die Auflösung oder erst die Farbtiefe setzen?). Auch weiterführende Links gibt es dazu, u.a. auch noch einen zu einem Microsoft KB Eintrag
  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 18:52 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