Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Suche Konzept: Bild mit unbekannter Größe (https://www.delphipraxis.net/185880-suche-konzept-bild-mit-unbekannter-groesse.html)

Cubysoft 14. Jul 2015 17:12

Suche Konzept: Bild mit unbekannter Größe
 
Hallo,

ich brauche heute eure Hilfe beim Finden eines geeigneten Konzepts. Dafür erkläre ich euch am Besten ersteinmal die Situation

Situation:

Ich lade während der Programmlaufzeit Daten in ein Record. Diese Daten möchte ich graphisch anzeigen, indem ich sie auf ein Canvas zeichne. Dies übernimmt eine eigene Klasse, was soweit auch wunderbar funktioniert. Das Problem hierbei ist nur, dass ich er NACH dem Zeichnen weiß, wie groß das ganze jetzt eigentlich ist. Die Größe ist hierbei nicht nur von wenigen Faktoren abhängig, sondern von vielen. Bisher habe ich das "Gemälde" immer schön auf eine Komponente (Testform.Canvas) gezeichnet, welche so groß war, dass immer alles gepasst hat.

Ich möchte nun aber die Malerei in einer TImage-Komponente fortsetzen und diese dann der Größe anpassen. Mein Konzept bisher ist, dass meine "Mal-Klasse" 2 Funktionen hat. Die erste zeichnet die Malerei, die 2. macht im Prinzip das selbe, gibt aber als Rückgabewert die Größe zurück. Sprich ich habe doppelte Rechnerei.

Meine Frage ist nun: Kann man das eventuell etwas vereinfachen?


Danke schonmal!

Luckie 14. Jul 2015 18:39

AW: Suche Konzept: Bild mit unbekannter Größe
 
Zeichne das ganze doch auf ein Bitmap im Speicher. Dann weißt du wie groß es wird und kannst es dann von da auf den Canvas des TImage kopieren.

Sir Rufo 14. Jul 2015 18:47

AW: Suche Konzept: Bild mit unbekannter Größe
 
Man kann das Berechnen und Zeichnen natürlich trennen.

Beim Berechnen erzeugt man die entsprechenden Zeichenroutinen und beim Zeichnen werden diese Routinen einfach abgearbeitet. Nach dem Berechnen bekommt man von jeder Zeichenroutine auch die Größe der benutzen Zeichenfläche und kann diese Rects einfach zusammenzählen.

Jetzt kann das auch in einer Paintbox gezeichnet werden (mit Zoom, Offset, etc.) weil nur noch die Zeichenroutinen abgespult werden und die Berechnung wegfällt.

Um das transparent zu machen, kann man sich eine Canvas-Klasse schreiben, die nicht zeichnet, dafür aber die Zeichenroutinen erstellt.

Cubysoft 14. Jul 2015 18:56

AW: Suche Konzept: Bild mit unbekannter Größe
 
Das Problem ist einfach, dass ich das ganze gerne so performant wie möglich hätte. Meine Idee, die ich habe ist relativ gut, aber ich habe keine Ahnung, inwieweit das umsetzbar ist. Kann ich nicht einfach so vorgehen:

- Bild auf Canvas zeichnen (Canvas(se) haben doch keine Ränder oder?)
- Wenn zeichnen fertig, dann TBitmap auf die Größe trimmen und das was ich ins Canvas gezeichnet habe einfügen
- Bitmap übergeben

In der Form:

- Bitmapgröße auslesen -> TImage auf diese Größe bringen
- Bitmap setzen

Wenn das so gehen würde wäre das perfekt.. :)

Bjoerk 14. Jul 2015 20:19

AW: Suche Konzept: Bild mit unbekannter Größe
 
Du könntest auch auf mm umsteigen (MMWidth, MMHeight, PenMMWidth ect.). Das erleichtert enorm die Arbeit und ist auch genauer. Zum Zeichen auf eine Bitmap/ Metafile ect. dann eine function MMToPixel o.ä. einführen.

Luckie 14. Jul 2015 21:02

AW: Suche Konzept: Bild mit unbekannter Größe
 
Was haben jetzt die Maßeinheiten mit dem Grundsätzlichen Problem zu tun?

Bjoerk 14. Jul 2015 22:08

AW: Suche Konzept: Bild mit unbekannter Größe
 
Als Referenzeinheit. Pixel hingegen ist nicht zu empfehlen. Irgendwie muß das Bild ja mal berechnet werden? Wenn das Bild in Floats vorliegt, kann man es sauber skalieren. Die spätere Darstellungsgröße in Pixel ist dann wurscht. Dadurch bekommt man auch bei vergleichsweise kleinen Abmessungen noch relativ scharfe Bilder.

Luckie 14. Jul 2015 23:00

AW: Suche Konzept: Bild mit unbekannter Größe
 
Ist doch alles Wurscht. Das alles spielt doch erst beim Ausdruck eine Rolle. Und warum sollte Pixel schlecht sein als Referenzeinheit? Das läuft doch alles intern ab. Und ein Canvas ist nur mal X Pixel breit und hoch. Oder stellst du die Formularbreite in Millimeter ein im Objektinspektor?

Aphton 14. Jul 2015 23:14

AW: Suche Konzept: Bild mit unbekannter Größe
 
lol @luckie.. ne.. nicht mm, aber inch!!

Luckie 14. Jul 2015 23:28

AW: Suche Konzept: Bild mit unbekannter Größe
 
Nicht römische Fuß oder Marburger Ellen?

Letztendlich fragt er nach einer prinzipiellen Lösung. Und da spielen die Einheiten keine Rolle.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:33 Uhr.
Seite 1 von 2  1 2      

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