Scaleimage nur mit Faktor?

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

Sereyanne

Betreff: Scaleimage nur mit Faktor?

BeitragMi, Jul 24, 2013 21:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hai!

Ich hatte vor einiger Zeit mal mit eurer Hilfe eine DiaShow geproggt, die verschiedene Bilder alle auf dieselbe Größe ge-resize-d ^^ hat. Das Fenster der DiaShow ist ca 192x140 Pixel groß und wenn ich die Bilder nicht resize, passen sie da nicht rein.

Bisher hab ich einfach jedes Bild mit ResizeImage auf die passende Größe geändert.

Nun ist mir aufgefallen, dass manche Bilder, je nach original-Größe, sehr verzerrt dargestellt werden. Daher hab ich mir Alternativen angesehen.

ScaleImage verändert aber nur mit Faktor, wenn ich das richtig seh. Wenn also ein Bild "normal" groß ist, passt es in mein Proggi rein, wenn dann aber eins größer ist, nicht mehr. Ich will ja nicht jedes Bild einzeln resizen, dafür ist die Function doch da Wink

Hat da noch jemand Ideen?
Michael Jackson - R.I.P.

Xeres

Moderator

BeitragMi, Jul 24, 2013 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich verstehe gerade nicht, was genau du willst. Verzerrungen gibt es, wenn das Seitenverhältnis nicht gleich bleibt, das sollte klar sein. Ob ResizeImage oder ScaleImage ist eigentlich schnuppe - du musst es da rein rechnen.
Und klar musst du jedes Bild resizen... wenn du nicht nur ein Ausschnitt zeigen willst.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Sereyanne

BeitragMi, Jul 24, 2013 21:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Mir ist schon klar, dass Resize jedes Bild in einem gewissen Grad verzerrt. Es geht speziell um hohe Bilder, die dann bei meinem kleinen 192x140 Fenster sehr unansehnlich werden.

Daher würde ich das Verhältnis der Bilder gern beibehalten, und nur entsprechend verkleinern, damit sie da reinpassen. Geht das überhaupt?
Michael Jackson - R.I.P.

Xeres

Moderator

BeitragMi, Jul 24, 2013 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Klar geht das. Erst entscheide, ob das Bild breiter als hoch ist (oder anders herum) und berechne das Seitenverhältnis. Dann setzt du die neue Breite (bzw. Höhe) so, dass dein Fenster bestmöglichst ausgefüllt wird und du berechnest, wie groß die Höhe (bzw. Breite) sein muss.
Habe keine Formel im Kopf, ist aber nicht mehr als teilen/multiplizieren.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Holzchopf

Meisterpacker

BeitragMi, Jul 24, 2013 21:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Das geht. Rechne zuerst das Seitenverhältnis deines Bildes und vergleiche es mit dem Seitenverhältnis deines Ausgabefensters (192.0/140.0 = 1.731...). Ist das Verhältnis kleiner (d.h. es wird die Breite nicht komplett ausfüllen), erhältst du den Skalierungsfaktor durch die Teilung der Ausgabehöhe durch Bildhöhe. Sonst (wenn es die Höhe nicht komplett ausfüllen wird) gewinnst du den Faktor durch die Division Ausgabebreite / Bildbreite.

mfG
Holzchopf
  • Zuletzt bearbeitet von Holzchopf am Mi, Jul 24, 2013 21:55, insgesamt einmal bearbeitet

Sereyanne

BeitragMi, Jul 24, 2013 21:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Mh ja die Idee find ich gut.

Danke für den richtigen Anstoß!

edit: ups gleich 2 Antworten. War zu langsam mit meiner. Die zweite ist aber auch gut Very Happy
Michael Jackson - R.I.P.

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group