Obrazy są wszędzie w Internecie. Przyjrzyjmy się pracy z kilkoma popularnymi formatami obrazów, w tym obrazami EMF, WMF i SVG. W tym artykule rozważysz kompresję obrazów wektorowych EMF, WMF i SVG odpowiednio do EMZ, WMZ i SVGZ. Ponadto nauczymy się również, jak konwertować obrazy wektorowe EMF, WMF i SVG na obrazy rastrowe, takie jak PNG, przy użyciu języka C#. Poniżej przedstawiono przypadki użycia, które będziemy badać:
- Konwertuj EMF na EMZ za pomocą C#
- Konwertuj EMZ na EMF za pomocą C#
- Konwertuj WMF na WMZ za pomocą C#
- Konwertuj WMZ na WMF za pomocą C#
- Konwertuj SVG na SVGZ za pomocą C#
- Konwertuj SVGZ na SVG za pomocą C#
- Konwertuj EMZ na PNG za pomocą C#
- Konwertuj WMZ na PNG za pomocą C#
- Konwertuj SVGZ na PNG za pomocą C#
Pliki obrazów wektorowych są często bardzo duże, więc kompresja i dekompresja takich obrazów jest pomocna, gdy trzeba przesyłać pliki przez sieć. Nauczmy się konwersji z Aspose.Imaging for .NET API.
Konwertuj EMF na EMZ za pomocą C#
Plik EMZ jest w rzeczywistości skompresowaną formą obrazu EMF. Możesz przekonwertować EMF na EMZ, wykonując poniższe czynności:
- Załaduj źródłowy obraz EMF
- Zainicjuj obiekt VectorRasterizationOptions.
- Zapisz obraz, określając EmfOptions
Poniższy fragment kodu pokazuje, jak przekonwertować EMF na EMZ za pomocą C#:
string file = "input.emf";
string inputFile = dataDir + file;
string outFile = inputFile + ".emz";
using (var image = Image.Load(inputFile))
{
VectorRasterizationOptions vectorRasterizationOptions = new EmfRasterizationOptions() { PageSize = image.Size };
image.Save(outFile, new EmfOptions() { VectorRasterizationOptions = vectorRasterizationOptions, Compress = true });
}
Konwertuj EMZ na EMF za pomocą C#
Jeśli otrzymałeś skompresowany plik EMZ, a następnie chcesz przekonwertować EMZ na EMF, wykonaj poniższe czynności:
- Załaduj źródłowy plik EMZ
- Zainicjuj obiekt EmfRasterizationOptions.
- Zapisz obraz podczas określania EmfOptions
Poniższy fragment kodu wyjaśnia, jak przekonwertować EMZ na EMF przy użyciu języka C#:
string file = "example.emz";
string inputFile = dataDir + file;
string outFile = inputFile + ".emf";
using (var image = Image.Load(inputFile))
{
VectorRasterizationOptions vectorRasterizationOptions = new EmfRasterizationOptions { PageSize = image.Size };
image.Save(outFile, new EmfOptions { VectorRasterizationOptions = vectorRasterizationOptions });
}
Konwertuj WMF na WMZ za pomocą C#
Możesz kompresować obrazy WMF za pomocą Aspose.Imaging for .NET API. Proces kompresji konwertuje WMF na WMZ, wykonując poniższe kroki:
- Załaduj źródłowy plik WMF
- Zainicjuj obiekt WmfRasterizationOptions.
- Zapisz obraz za pomocą WmfOptions
Poniższy fragment kodu pokazuje, jak przekonwertować WMF na WMZ za pomocą C#:
string file = "castle.wmf";
string inputFile = dataDir + file;
string outFile = inputFile + ".wmz";
using (var image = Image.Load(inputFile))
{
VectorRasterizationOptions vectorRasterizationOptions = new WmfRasterizationOptions() { PageSize = image.Size };
image.Save(outFile, new WmfOptions() { VectorRasterizationOptions = vectorRasterizationOptions, Compress = true });
}
Konwertuj WMZ na WMF za pomocą C#
Jak już nauczyliśmy się kompresować obraz WMF. Aspose.Imaging for .NET API pozwala rozpakować pliki WMZ i przekonwertować je na plik WMF. W celu konwersji należy wykonać następujące kroki:
- Załaduj wejściowy plik WMZ
- Zadeklaruj instancję klasy WmfRasterizationOptions.
- Zapisz obraz wyjściowy jako plik WMF
Poniższy fragment kodu pokazuje, jak przekonwertować WMZ na WMF przy użyciu języka C#:
string file = "example.wmz";
string inputFile = dataDir + file;
string outFile = inputFile + ".wmf";
using (var image = Image.Load(inputFile))
{
VectorRasterizationOptions vectorRasterizationOptions = new WmfRasterizationOptions() { PageSize = image.Size };
image.Save(outFile, new WmfOptions() { VectorRasterizationOptions = vectorRasterizationOptions });
}
Konwertuj SVG na SVGZ za pomocą C#
Obrazy SVG są szeroko stosowane do wyświetlania złożonej grafiki o wysokiej jakości. Możesz skompresować takie obrazy wektorowe i przekonwertować SVG na SVGZ, wykonując poniższe czynności:
- Załaduj wejściowy plik SVG
- Zainicjuj obiekt VectorRasterizationOptions.
- Zapisz wyjściowy obraz SVGZ za pomocą SvgOptions
Poniższy fragment kodu pokazuje, jak przekonwertować SVG na SVGZ przy użyciu języka C#:
string file = "Example.svg";
string inputFile = dataDir + file;
string outFile = inputFile + ".svgz";
using (var image = Image.Load(inputFile))
{
VectorRasterizationOptions vectorRasterizationOptions = new SvgRasterizationOptions() { PageSize = image.Size };
image.Save(outFile, new SvgOptions() { VectorRasterizationOptions = vectorRasterizationOptions, Compress = true });
}
Konwertuj SVGZ na SVG za pomocą C#
Możesz rozpakować plik SVGZ i przekonwertować SVGZ na SVG, wykonując poniższe proste czynności:
- Załaduj wejściowy plik SVGZ
- Określ instancję SvgRasterizationOptions.
- Zapisz obraz SVG za pomocą SvgOptions
Poniższy fragment kodu pokazuje, jak przekonwertować SVGZ na SVG przy użyciu języka C#:
string file = "example.svgz";
string inputFile = dataDir + file;
string outFile = inputFile + ".svg";
using (var image = Image.Load(inputFile))
{
VectorRasterizationOptions vectorRasterizationOptions = new SvgRasterizationOptions() { PageSize = image.Size };
image.Save(outFile, new SvgOptions() { VectorRasterizationOptions = vectorRasterizationOptions });
}
Więc nauczyłeś się, jak kompresować i dekompresować obrazy w formacie wektorowym, w tym obrazy EMZ, WMZ i SVGZ. Przejdźmy do przodu i dowiedzmy się, jak przekonwertować takie pliki obrazów na obrazy rastrowe.
Konwertuj EMZ na PNG za pomocą C#
EMZ to skompresowana forma obrazu EMF. Możesz bezpośrednio przekonwertować go do formatu obrazu rastrowego, takiego jak PNG lub JPG. Nie musisz najpierw dekompresować obrazu, a następnie go konwertować. Wykonaj poniższe kroki, aby przekonwertować obraz EMZ na PNG:
- Załaduj wejściowy obraz EMZ
- Zainicjuj instancję klasy VectorRasterizationOptions.
- Zapisz wstawiony obraz PNG za pomocą PngOptions
Poniższy fragment kodu pokazuje, jak przekonwertować EMZ na obraz PNG za pomocą C#:
string file = "example.emz";
string inputFile = dataDir + file;
string outFile = inputFile + ".png";
using (Image image = Image.Load(inputFile))
{
VectorRasterizationOptions vectorRasterizationOptions = (VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Color.White, image.Width, image.Height });
image.Save(outFile, new PngOptions() { VectorRasterizationOptions = vectorRasterizationOptions });
}
Konwertuj WMZ na PNG za pomocą C#
Teraz nauczmy się konwersji skompresowanych plików WMF, WMZ, bezpośrednio do PNG. Poniższe kroki konwertują WMZ do PNG:
- Załaduj źródłowy plik obrazu WMZ
- Zadeklaruj obiekt klasy VectorRasterizationOptions.
- Zapisz plik obrazu PNG przy użyciu klasy PngOptions.
Poniższy fragment kodu wykonuje następujące kroki i pokazuje, jak przekonwertować WMZ na PNG za pomocą C#:
string file = "example.wmz";
string inputFile = dataDir + file;
string outFile = inputFile + ".png";
using (Image image = Image.Load(inputFile))
{
VectorRasterizationOptions vectorRasterizationOptions = (VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Color.White, image.Width, image.Height });
image.Save(outFile, new PngOptions() { VectorRasterizationOptions = vectorRasterizationOptions });
}
Konwertuj SVGZ na PNG za pomocą C#
Ekscytująca funkcja konwersji SVGZ do PNG została wprowadzona na podstawie kilku próśb naszych klientów. Ta funkcja umożliwia wydajną konwersję obrazów SVGZ do formatu PNG z zachowaniem wysokiej wierności. Wszystko, co musisz zrobić, to wykonać poniższe czynności:
- Załaduj źródłowy plik obrazu SVGZ
- Zainicjuj obiekt klasy VectorRasterizationOptions.
- Zapisz wyjściowy plik PNG, określając PngOptions
Poniższy fragment kodu opiera się na tych krokach, które wyjaśniają, jak przekonwertować SVGZ na PNG za pomocą C#:
string file = "example.svgz";
string inputFile = dataDir + file;
string outFile = inputFile + ".png";
using (Image image = Image.Load(inputFile))
{
VectorRasterizationOptions vectorRasterizationOptions = (VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Color.White, image.Width, image.Height });
image.Save(outFile, new PngOptions() { VectorRasterizationOptions = vectorRasterizationOptions });
}
Wniosek
Omówiliśmy kompresję i dekompresję formatów obrazów wektorowych, które są pomocne przy przesyłaniu plików. Podejście to jest również odpowiednie, gdy chcesz zarchiwizować takie obrazy. Na przykład możesz skompresować takie obrazy wektorowe przed archiwizacją, a później rozpakować zgodnie z własnymi wymaganiami. Co więcej, zbadaliśmy również konwersję skompresowanych obrazów wektorowych na obrazy rastrowe za pomocą Aspose.Imaging for .NET API. Ponadto możesz zapoznać się z API Reference i API Documentation. W razie jakichkolwiek wątpliwości skontaktuj się z nami na Bezpłatnym forum pomocy technicznej.