Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Programm mit Grafiken an Bildschirmauflösung anpassen (https://www.delphipraxis.net/135647-programm-mit-grafiken-bildschirmaufloesung-anpassen.html)

KahPee 15. Jun 2009 12:35


Programm mit Grafiken an Bildschirmauflösung anpassen
 
Hallo lieber Programmiergemeinde,
ich bin noch ein ziemlicher Neuling, auch wenn dies nicht mehr mein erster Thread ist habt bitte ein bisschen Nachsehen :lol: . Ich hab übrigens auch schon Mr. G.(oogle) und die Forumssuche gefragt, allerdings bin ich zu keinem befriedigendem Ergebnis gekommen.
So nun aber zu meiner Frage:
Ich habe ein Spiel programmiert, bei welchem ich mehreren Bildern manuell eine Position zuweise, auch habe ich eine Hintergrundgrafik. Beim Starten des Programmes auf den Verschiedensten PCs habe ich festgestellt, dass das Programm, mal auf den Bildschirm passt, mal nicht. Gibt es die Möglichkeit das sich das Programm gleich beim Start an die Auflösung anpasst? Wichtig ist, dass es auch eine Möglichkeit gibt, dass sich die im Moment pixelgenau positionierten Bilder über der Hintergrundgrafik im richtigen Verhältnis anpassen. Wie setzt man das um? Ist das überhaupt ohne großen Aufwand möglich?

Ich hoffe das ich mich verständlich ausgedrückt habe.
Schon mal Vielen Dank im Voraus.

mfg Kahpee

SimStar001 15. Jun 2009 12:37

Re: Programm mit Grafiken an Bildschirmauflösung anpassen
 
naja du weißt ja wieviel Bilder du hast, in der Breite sowie Höhe!
Lies einfach die Scrren.heigth und width aus und berechne dann wie groß ein einzellnes bild maximal sein darf!

LG marco

KahPee 15. Jun 2009 12:39

Re: Programm mit Grafiken an Bildschirmauflösung anpassen
 
Oh das war eine schnelle Antwort. Leider habe ich das noch nicht verstanden, kannst du mir evtl ein kleines Beispiel geben. Die Abmessungen und Positionen meiner momentanen Grafiken kenne ich natürlich (pixelgenau) - das stimmt.

SimStar001 15. Jun 2009 12:46

Re: Programm mit Grafiken an Bildschirmauflösung anpassen
 
naja lies einfach mal die Bildschirmauflösung aus:

Delphi-Quellcode:
var screenheight, screenwidth : cardinal;

...
screenheight := screen.height;
screenwidth := screen.width;
danach musst du halt ersteinmal die maximale Höhe und Breite deiner Bilder ausrechnen.

BSP du hast 4 Bilder in Beite und Höhe:

dann teilst du einfach die screenheight und screenwidth jeweils durch die Anzahl der Bilder und erhälts einen Maximalwert für Höhe und Breite jedes einzellnen Bildes.

KahPee 15. Jun 2009 12:51

Re: Programm mit Grafiken an Bildschirmauflösung anpassen
 
Ah vielen Dank, dann kann man das ganze ja im Prinzip mit Prozentangaben erzeugen. Ich rechne also bei meiner momentanen Auflösung aus, wieviel Prozent der Breite des Bildschirms ein Bild einnimmt und weise dann das ganze so zu:
Delphi-Quellcode:
Pic.width:=(screen.width/100)*prozente;
Nun die Frage ob dann Grafiken auch wie gewünscht auf die richtige Größe gezerrt werden?
Welche Risiken gehe ich bei dieser Umsetzung ein, bzw. was für Probleme können auftreten?

mfg KahPee

SimStar001 15. Jun 2009 12:52

Re: Programm mit Grafiken an Bildschirmauflösung anpassen
 
lade die Graphiken erst nachdem du die Größe geändert hast und stell die Option Proportinal doer so ein, dann werden die Bilder automatisch auf deine größe gezogen

KahPee 15. Jun 2009 13:00

Re: Programm mit Grafiken an Bildschirmauflösung anpassen
 
Solange ich TImage-Container benutze ist das mit dem Laden erst nach dem bestimmen der Positionen etc. kein Problem. Aber wie mache ich dass denn wenn ich die TImage-Komponente benutze muss ich dann auch die Grafiken laden. das wäre insofern ungünstig, da ich dann mehr Grafiken in den Picture-Ordner zu der .exe packen muss. Hat das nicht auch beim Starten Performance nachteile. Einige Teile meiner Bilder ändern sich nämlich nie, die habe ich dann über die TImage Komponente hochgeladen.
Ist wahrscheinlich ne blöde Frage aber ohne fragen lern man nie :lol:

mfg KahPee

SimStar001 15. Jun 2009 13:03

Re: Programm mit Grafiken an Bildschirmauflösung anpassen
 
dann lege einfach mal im Image nen bild fest und setzte die eigenschaften und probiers mal zur laufzeit zu ändern ( größe ) und guck was passiert!

KahPee 15. Jun 2009 13:11

Re: Programm mit Grafiken an Bildschirmauflösung anpassen
 
Mh ich habe jetz mal das ganze testweise gemacht also ein Bild in eine TIMage komponente geladen.
die Image Komponente wird auch verändert, allerdings nur der Container, wenn das Bild selber größer ist das der Container wird einfach nur die obere linke ecke geschnitten wenn das Bild kleiner als der COntainer ist wird das Bild nur in Orginalgröße angezeigt. Ich habe aber auch die Option Proportional nicht finden können!


mfg KahPEe


Edit: was ich amche kann ich kann den Container auf Stretch:=true stellen, allerdings kann es passieren dass das Bild dann verzerrt wird...

Gibt es eine Möglichkeit manuell unproportionalität in dem Bild zu verhindern?

SimStar001 15. Jun 2009 13:13

Re: Programm mit Grafiken an Bildschirmauflösung anpassen
 
hast auch proportinal und strech auf true gesetzt=?


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:04 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