Wir erhalten oft Bilder mit einer Größe, die nicht unseren Anforderungen entspricht, daher müssen wir sie entsprechend skalieren. In diesem Artikel erfahren Sie, wie Sie die Größe von Bildern mithilfe von C# in Ihren .NET Anwendungen ändern. Außerdem erfahren Sie, wie Sie die Größe von Rasterbildern und Vektorbildern explizit ändern können.
- .NET API zum Ändern der Bildgröße
- Ändern Sie die Größe von Rasterbildern
- Bildgröße proportional ändern
- Größe von Vektorbildern ändern
.NET API zum Ändern der Bildgröße
Um Bilder zu skalieren. wir werden Aspose.Imaging for .NET verwenden. Es ist eine leistungsstarke Bildverarbeitungs-API zur Bearbeitung verschiedener Arten von Raster und Vektorbildern. Sie können die DLL der API herunterladen oder über NuGet installieren.
PM> Install-Package Aspose.Imaging
Größe von Rasterbildern mit C# ändern
Es gibt zwei Methoden zum Ändern der Größe von Rasterbildern (PNG, GIF, JPEG usw.): einfache Größenänderung und Größenänderung mithilfe eines Größenänderungstyps. Bei der einfachen Größenänderung werden die Bilder durch Angabe der Höhe und Breite in der Größe geändert. Während die zweite Methode verschiedene Techniken zur Größenänderung verwendet. In den folgenden Abschnitten wird gezeigt, wie Sie die Größe eines Bildes mit jeder der oben genannten Methoden ändern.
Einfache Größenänderung eines Bildes
Im Folgenden finden Sie die Schritte zum Ändern der Größe eines Bilds in C#.
- Laden Sie zuerst die Bilddatei mit der Klasse Image.
- Ändern Sie dann die Bildgröße, indem Sie die Methode Image.Resize(Int32, Int32) aufrufen.
- Speichern Sie schließlich das in der Größe geänderte Bild mit der methode Image.Save(string).
Das folgende Codebeispiel zeigt, wie Sie die Größe eines Bilds in .NET Anwendungen ändern.
// Bild laden
using (Image image = Image.Load("aspose-logo.jpg"))
{
// Ändern Sie die Bildgröße und speichern Sie das in der Größe geänderte Bild
image.Resize(300, 300);
image.Save("SimpleResizing_out.jpg");
}
Ändern Sie die Bildgröße mithilfe eines Größenänderungstyps
Die Aufzählung ResizeType wird verwendet, um Techniken zur Größenänderung anzugeben, die Sie gemäß Ihren Anforderungen verwenden können. Die vollständige Liste der unterstützten Größenanpassungstypen ist hier verfügbar. Im Folgenden finden Sie die Schritte zum Ändern der Größe eines Bildes mithilfe einer bestimmten Technik zum Ändern der Größe.
- Laden Sie zuerst das Bild mit der Klasse Image.
- Ändern Sie dann die Bildgröße, indem Sie die Methode Image.Resize(Int32, Int32, ResizeType) aufrufen.
- Speichern Sie schließlich das in der Größe geänderte Bild mit der methode Image.Save(string).
Im folgenden Codebeispiel wird die Größe des Bilds mithilfe einer bestimmten Größenänderungstechnik geändert.
// Bild laden
using (Image image = Image.Load("aspose-logo.jpg"))
{
// Ändern Sie die Bildgröße und speichern Sie das in der Größe geänderte Bild
image.Resize(300, 300, ResizeType.LanczosResample);
image.Save("SimpleResizing_out.jpg");
}
Bildgröße proportional ändern
Die Größenänderung von Bildern durch Angabe von Höhe und Breite kann zu einem verkleinerten oder skalierten Bild führen. Daher müssen Sie das Seitenverhältnis manuell berechnen. Jede Fehlberechnung des Seitenverhältnisses kann jedoch zu einem gestreckten Bild führen. Um solche Probleme zu vermeiden, können Sie die proportionale Größenänderung verwenden. Im Folgenden sind die Schritte aufgeführt, um dies zu erreichen.
- Laden Sie zuerst die Bilddatei mit der Klasse Image.
- Cachen Sie dann Bilddaten mit der methode Image.CacheData().
- Geben Sie die neue Höhe und Breite des Bildes an.
- Berechnen Sie die Proportionswerte mit den Methoden Image.ResizeWidthProportionally(Int32) und Image.ResizeHeightProportionally(Int32).
- Speichern Sie schließlich das in der Größe geänderte Bild mit der methode Image.Save(string).
Falls Sie einen bestimmten Größenänderungstyp verwenden möchten, während Sie die Größe von Bildern proportional ändern, verwenden Sie die Überladungsmethoden Image.ResizeWidthProportionally(Int32, ResizeType) und Image.ResizeHeightProportionally(Int32, ResizeType).
Das folgende Codebeispiel zeigt, wie Sie die Größe eines Bilds mithilfe von C# proportional ändern.
// Bild laden
using (Image image = Image.Load("aspose-logo.png"))
{
// Bilddaten zwischenspeichern
if (!image.IsCached)
{
image.CacheData();
}
// Geben Sie Breite und Höhe an
int newWidth = image.Width / 2;
image.ResizeWidthProportionally(newWidth);
int newHeight = image.Height / 2;
image.ResizeHeightProportionally(newHeight);
// Bild speichern
image.Save("ResizeImageProportionally_out.png");
}
Größe von Vektorgrafiken in C# ändern
Mit Aspose.Imaging for .NET können Sie auch die Größe der Vektorbilder ändern und sie in einem Rasterbildformat speichern. Das folgende Codebeispiel zeigt, wie Sie die Größe eines SVG Bilds ändern und die Ausgabe im PNG Format speichern.
// Bild laden
using (Image image = Image.Load("image.svg"))
{
// Größe des Bildes als PNG ändern
image.Resize(image.Width * 10,image.Height * 15);
image.Save("Logotype_10_15.png", new PngOptions()
{
VectorRasterizationOptions = new SvgRasterizationOptions()
});
}
Holen Sie sich eine kostenlose API Lizenz
Sie können eine kostenlose temporäre Lizenz erhalten, um Aspose.Imaging for .NET ohne Evaluierungseinschränkungen zu verwenden.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie mithilfe von C# die Größe von Bildern programmgesteuert ändern. Darüber hinaus haben die Codebeispiele gezeigt, wie eine einfache Größenänderung von Bildern oder eine Größenänderung mit einem bestimmten Typ durchgeführt werden kann. Wir haben auch behandelt, wie man die manuelle Berechnung des Seitenverhältnisses beim Ändern der Bildgröße vermeidet. Darüber hinaus wird am Ende auch die Größenänderung von Vektorgrafiken besprochen. Außerdem können Sie mithilfe der Dokumentation mehr über die .NET Bildverarbeitungs-API erfahren. Außerdem können Sie das vollständige Paket der Quellcodebeispiele von GitHub herunterladen. Bei Fragen können Sie uns in unserem Forum kontaktieren.