So ändern Sie die Größe eines Bildes proportional mit maximalen Höhen- und Breitenbeschränkungen
In vielen Szenarien ist es notwendig, die Größe von Bildern zu ändern und dabei ihre ursprüngliche Größe beizubehalten Seitenverhältnis. Dies ist besonders wichtig, wenn es um Einschränkungen hinsichtlich der maximalen Höhe und Breite des skalierten Bildes geht. System.Drawing.Image in C# bietet eine praktische Lösung zum Ausführen dieser Aufgabe.
Problemstellung:
Angesichts eines Bildes mit einer bestimmten Breite und Höhe müssen wir die Größe ändern Es wird proportional angepasst, um maximale Höhen- und Breitenbeschränkungen zu erfüllen und gleichzeitig das Seitenverhältnis beizubehalten. Der Größenänderungsprozess sollte die Abmessungen iterativ anpassen, bis sowohl Breite als auch Höhe innerhalb der Grenzen liegen und gleichzeitig die maximal mögliche Größe beibehalten wird.
Lösung:
Der folgende Code zeigt, wie das geht Ändern Sie die Größe eines Bildes proportional innerhalb bestimmter Einschränkungen:
public static Image ScaleImage(Image image, int maxWidth, int maxHeight) { var ratioX = (double)maxWidth / image.Width; var ratioY = (double)maxHeight / image.Height; var ratio = Math.Min(ratioX, ratioY); var newWidth = (int)(image.Width * ratio); var newHeight = (int)(image.Height * ratio); var newImage = new Bitmap(newWidth, newHeight); using (var graphics = Graphics.FromImage(newImage)) graphics.DrawImage(image, 0, 0, newWidth, newHeight); return newImage; }
In diesem Code nimmt die ScaleImage-Methode ein Bild, eine maximale Breite und eine maximale Breite an Höhe als Eingabe. Es berechnet den minimalen Skalierungsfaktor, der sicherstellt, dass weder die Breite noch die Höhe das angegebene Maximum überschreiten, während das ursprüngliche Seitenverhältnis beibehalten wird. Das neue Bild wird dann mit den skalierten Abmessungen erstellt und mit Graphics.DrawImage gerendert.
Um diese Methode zu verwenden, übergeben Sie einfach das Originalbild, die maximale Breite und die maximale Höhe als Argumente. Die Methode gibt das in der Größe geänderte Bild zurück, das dann gespeichert oder bei Bedarf verwendet werden kann.
Das obige ist der detaillierte Inhalt vonWie kann ich die Größe von Bildern proportional ändern und dabei das Seitenverhältnis mit maximalen Breiten- und Höhenbeschränkungen beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!