| Autor |
Nachricht |
schlumsch
       
Beiträge: 122 Dabei seit: 04.06.2004 Wohnort: Ilmenau
alles Win :) Delphi 2005 Prof, Delphi 2007
|
Hallo allerseits,
ich sitze hier vor einem Problem bei dem ich ständig Ideen für eine Lösung habe, mirt dann aber immer ab einem gewissen Punkt auffällt das es doch so nicht geht. Vielleicht kann mir jemand helfen.
Ich möchte ein Bild als Hintergrundbild auf dem Desktop anzeigen. Das Bild soll auf die jeweilige Auflösung des Monitors skaliert werden, allerdings nur wenn die Deformation des Bildes nicht zu groß wird. Hat jemand eine Idee, wie ich das berechnen kann um dann zum Beispiel zu sagen: skaliere nur wenn die Deformation < x ist???
Vielleicht hat ja schon jemand mal so etwas gemacht und kann mir da einen Rat geben, thx
_________________ icq 102779206
"God is real, unless declared integer..."
|

|
|
Niko S.
        
Beiträge: 496 Dabei seit: 29.04.2006
Win 7, Ubuntu Lazarus, Turbo Delphi, Delphu 7 PE
|
Naja teile doch einfach die Höhe durch die Breite.
Dann bekommst du nen bestimmten Wert.
Nach der Deformation, schauste dir den Differenzwert an, und stellst dir das so ein, wie du das haben willst.
Beispielsweise hat 600 / 800 = 0,75 und wenn du nun ein anderes bild hast meinetwegen, 1440 x 900 und rechnest
900 / 1440 = 0,625 davon die differenz wären 0,125.
Wenn du dann nun ein hochkant Bild hast wäre das beispielsweise 1440 / 900 = 1,6.
davon die Differenz wäre deutlich über 0,125.
|

|
|
schlumsch
       
(Threadstarter)
Beiträge: 122 Dabei seit: 04.06.2004 Wohnort: Ilmenau
alles Win :) Delphi 2005 Prof, Delphi 2007
|
Hmmm, dein beispiel klingt erstmal logisch. Bestimme ich das verhältnis vom Monitor am Besten via Breite / Höhe oder andersrum? Wie verhält es sich mit dem Bild - du meinst zuerst skalieren und dann das Verhältnis berechnen, wobei ich davon ausgehe das ich wie auch schon zuvor Breite / Höhe als Wert nehe. Kann ich das ganze nicht auch vor dem skalieren des Bildes machen? Also mit der Originalgröße?
_________________ icq 102779206
"God is real, unless declared integer..."
|

|
|
Niko S.
        
Beiträge: 496 Dabei seit: 29.04.2006
Win 7, Ubuntu Lazarus, Turbo Delphi, Delphu 7 PE
|
Okay mal hier die reihenfolge:
1. Höhe / Breite
2. VOR dem Stretchen Höhe / Breite ausrechnen des Bildes ausrechnen
3. VOR dem Stretchen neue Höhe / Breite ausrechnen, du weißt ja wohin du das Bild stretchen willst.
4. VOR dem Stretchen prüfen, ob der Wert zu sehr schwankt.
Also das alles geschieht VORHER.
|

|
|
schlumsch
       
(Threadstarter)
Beiträge: 122 Dabei seit: 04.06.2004 Wohnort: Ilmenau
alles Win :) Delphi 2005 Prof, Delphi 2007
|
Ja ich danke dir. Ich hab das ganze nochmal durchdacht und so wird ein Schuh draus. Allerdings kann ich es mir schenken das Verhältnis zu berechnen welches das verzgrößerte/ verkleinerte Bild hätte ... das ist ja gleich dem Verhältnis der originalen Bildgröße. Ja, a weng verwirrend  jedenfalls danke ich für den Denkanstoss ...
_________________ icq 102779206
"God is real, unless declared integer..."
|

|
|
Niko S.
        
Beiträge: 496 Dabei seit: 29.04.2006
Win 7, Ubuntu Lazarus, Turbo Delphi, Delphu 7 PE
|
Nicht wenn das nicht deformierte Bild hochkannt ist.
Wenn du von einem 800x600 Bild das verhältnis nimmst und dann ein 640x480 bist nimmst, ist klar, beide Werte gleich.
Was aber auch gleichzeitig heißt, dass es nur verkleinert und nicht deformiert ist ;D
|

|
|
Werbung ausblenden? Dann registriere Dich kostenlos.
Weitere Gründe für eine Registrierung.
Werbung ausblenden? Dann registriere Dich kostenlos.
Weitere Gründe für eine Registrierung.
|
|
|
|