![]() |
TCanvas mit Kommazahlen ?
Hallo,
in einem Beitrag hat mir jemand von euch versucht zu erklären, wie ich Kommerzahlen in TCanvas benutzen könnte. Also jetzt für die genauigkeit wie eine Grafik Positioniert werden kann. Ich mache das bisher immer nur so, z.b.: Canvas.Draw(x,y,grafik).... Aber ich verstehe nicht, was das bringen soll, man muss doch so oder so runden, damit das TCanvas verstehen bzw. verwenden kann. Ich hoffe ihr versteht das was ich meine. Z.b. um das SVG Format da zustellen, währe das praktisch, weil dort wird nur mit Kommerzahlen gearbeitet. Da ich nicht mir das beim besten willen nicht vorstellen kann, wollte ich mal nachfragen wie das gehen könnte. (Leider weiß ich nicht mehr in welchen Thread das genau war, sonst könnte ich es Zitieren.). Weil TCanvas arbeite ja nur mit Ganzen Zahlen. und manchmal ist ein Ganze Zahl einfach viel zu groß z.b. 1 oder so..... [edit=sakura] Titel korrigiert ;) Mfg, sakura[/edit] |
Re: TCanvas mit Kommerzahlen ?
wenn du auf ein TCanvas zeichnest brauchst du immer Ganzzahlkoordinaten. Weil jede Einheit einem Pixel entspricht. Wenn du eine Grafik mit Fließkommakoordinaten (nicht Kommerzahlen... ) zeichnen willst musst du dir die Koordinaten errechnen und bestenfalls runden. Oder du nutzt GDI+. Dort sind Fließkommawerte erlaubt und das GDI+ Graphic Objekt kümmert sich um die Darstellung auf dem jeweiligen Device.
|
Re: TCanvas mit Kommerzahlen ?
Zitat:
01 - Ich weiß nicht ob das unter Linux nutzbar ist 02 - Ich möchte gerne Verstehen wie das im einzelnen geht. Vor allem wenn ich runde wird es ja doch woanders da gestellt weil ich ja nicht an x: 0.3 was da stellen kann, müsste es gerundet an 0 gezeichnet werden. Genau das möchte ich eigentlich Verhindern. Natürlich könnte ich Jedi SDL nehmen, was es auch unter Linux gibt, aber da kenne ich mich nicht aus und weiß auch nicht ob die mit Kommerzahlen arbeiten können. Ich möchte Eigentlich nur das Prinzip verstehen. Ich kann mir nicht vorstellen das einfach nur gerundet wird oder ? dann könnte ich es mir gleich sparen Kommerzahlen anzugeben. |
Re: TCanvas mit Kommerzahlen ?
Da der Bildschim aus einem raster besteht, wirst du irgend einen Algorithmus brauchen welcher die berechnet, welcher Pixel dein Float-Wert entspricht.
|
Re: TCanvas mit Kommerzahlen ?
Es hat doch schon jemand gesagt, dass es nicht geht! Das einzige, was du machen könntest, wäre die Koordinaten in einer Variablen zu speichern und dan nur beim Zeichnen zu runden (per round). Oder kannst du mit erklären, wie du ein halbes Pixel lila und das andere Halbe orange darstellen willst?
PS: Was sind Kommerzahlen? |
Re: TCanvas mit Kommerzahlen ?
Zitat:
![]() Zitat:
![]() |
Re: TCanvas mit Kommerzahlen ?
Zitat:
@Khabarakh dein Beitrag mir schonmal weiter geholfen, Vielen Dank. Das muss ich nur noch Testen.... Du meinst Wenn ich eine Grafik z.b. an Stelle: 10,12 Zeichnen möchte, muss ich Berechnen, wieviel % jeweils links bzw. rechts gezeichnet werden müssen. (und bei Y halt Unten oder Oben) und damit könnte ich dann ganz genau Zeichnen..... Sehe ich das richtig ? edit: Die Cairo Engine ist ja Intressant. Gibt es dafür schon Object Pascal header (am besten für FPC?) |
Re: TCanvas mit Kommerzahlen ?
Zitat:
Und das ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz