Heim > Backend-Entwicklung > C++ > Wie kann ich die Größe eines Bildes proportional ändern und dabei das Seitenverhältnis mit Einschränkungen für maximale Höhe und maximale Breite beibehalten?

Wie kann ich die Größe eines Bildes proportional ändern und dabei das Seitenverhältnis mit Einschränkungen für maximale Höhe und maximale Breite beibehalten?

Mary-Kate Olsen
Freigeben: 2025-01-06 13:56:40
Original
753 Leute haben es durchsucht

How to Proportionally Resize an Image While Maintaining Aspect Ratio with Max Height and Max Width Constraints?

Ändern Sie die Bildgröße proportional mit den Einschränkungen „MaxHeight“ und „MaxWidth“

Stellen Sie sich ein Bild vor, das die festgelegte maximale Breite oder Höhe überschreitet. Um dies zu beheben, wollen wir die Größe proportional ändern und dabei sicherstellen, dass sowohl die maximalen als auch die minimalen Einschränkungen eingehalten werden, während das ursprüngliche Seitenverhältnis erhalten bleibt. So geht's:

Zuerst berechnen wir die Maßstabsverhältnisse für Breite und Höhe:

ratioX = maxWidth / imageWidth
ratioY = maxHeight / imageHeight
Nach dem Login kopieren

Anschließend ermitteln wir das Mindestverhältnis zwischen beiden:

ratio = min(ratioX, ratioY)
Nach dem Login kopieren

Anhand des abgeleiteten Verhältnisses ändern wir die Größe des Bildes:

newWidth = imageWidth * ratio
newHeight = imageHeight * ratio
Nach dem Login kopieren

Das Ergebnis ist ein neues Bild das die angegebenen Breiten- und Höhenbeschränkungen einhält und gleichzeitig das Seitenverhältnis beibehält.

Das obige ist der detaillierte Inhalt vonWie kann ich die Größe eines Bildes proportional ändern und dabei das Seitenverhältnis mit Einschränkungen für maximale Höhe und maximale Breite beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage