SVGを変換する

画像はインターネット上のいたるところにあります。 EMF、WMF、SVG画像などの一般的な画像形式のいくつかを使って作業してみましょう。この記事では、EMF、WMF、およびSVGベクター画像をそれぞれEMZ、WMZ、およびSVGZに圧縮することを検討します。さらに、EMF、WMF、およびSVGベクター画像をC#を使用してPNGなどのラスター画像に変換する方法についても学習します。以下は、調査するユースケースです。

ベクター画像ファイルはサイズが大きいことが多いため、ネットワーク経由でファイルを転送する必要がある場合は、このような画像の圧縮と解凍が役立ちます。 Aspose.Imaging for .NET APIを使用した変換について学びましょう。

C#を使用してEMFをEMZに変換する

EMZファイルは、実際にはEMFイメージの圧縮形式です。以下の手順に従って、EMFをEMZに変換できます。

  1. ソースEMFイメージをロードします
  2. VectorRasterizationOptionsオブジェクトを初期化します
  3. EmfOptionsを指定して画像を保存します

以下のコードスニペットは、C#を使用してEMFをEMZに変換する方法を示しています。

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 });
}

C#を使用してEMZをEMFに変換する

圧縮されたEMZファイルを受け取った後、EMZをEMFに変換する場合は、以下の手順に従います。

  1. ソースEMZファイルをロードします
  2. EmfRasterizationOptionsオブジェクトを初期化します
  3. EmfOptionsを指定して画像を保存します

以下のコードスニペットは、C#を使用してEMZをEMFに変換する方法を説明しています。

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 });
}

C#を使用してWMFをWMZに変換する

Aspose.Imaging for .NET APIを使用してWMFイメージを圧縮できます。圧縮プロセスは、以下の手順に従ってWMFをWMZに変換します。

  1. ソースWMFファイルをロードする
  2. WmfRasterizationOptionsオブジェクトを初期化します
  3. WmfOptionsを使用して画像を保存します

以下のコードスニペットは、C#を使用してWMFをWMZに変換する方法を示しています。

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 });
}

C#を使用してWMZをWMFに変換する

WMFイメージの圧縮についてはすでに学習しました。 Aspose.Imaging for .NET APIを使用すると、WMZファイルを解凍し、そのようなWMZをWMFファイルに変換できます。変換するには、次の手順に従う必要があります。

  1. 入力WMZファイルをロードします
  2. WmfRasterizationOptionsクラスのインスタンスを宣言します
  3. 出力画像をWMFファイルとして保存します

以下のコードスニペットは、C#を使用してWMZをWMFに変換する方法を示しています。

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 });
}

C#を使用してSVGをSVGZに変換する

SVG画像は、高品質で複雑なグラフィックを表示するために広く使用されています。以下の手順で、このようなベクター画像を圧縮してSVGをSVGZに変換できます。

  1. 入力SVGファイルをロードする
  2. VectorRasterizationOptionsオブジェクトを初期化します
  3. SvgOptionsを使用して出力SVGZ画像を保存します

次のコードスニペットは、C#を使用してSVGをSVGZに変換する方法を示しています。

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 });
}

C#を使用してSVGZをSVGに変換する

以下の簡単な手順で、SVGZファイルを解凍し、SVGZをSVGに変換できます。

  1. 入力SVGZファイルをロードします
  2. SvgRasterizationOptionsインスタンスを指定します
  3. SvgOptionsを使用してSVG画像を保存します

次のコードスニペットは、C#を使用してSVGZをSVGに変換する方法を示しています。

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 });
}

これで、EMZ、WMZ、SVGZ画像などのベクター形式の画像を圧縮および解凍する方法を学びました。先に進んで、そのような画像ファイルをラスター画像に変換する方法を理解しましょう。

C#を使用してEMZをPNGに変換する

EMZは、EMF画像の圧縮形式です。 PNGやJPGなどのラスター画像形式に直接変換できます。最初に画像を解凍してから変換する必要はありません。 EMZをPNG画像に変換するには、以下の手順に従ってください。

  1. 入力EMZ画像をロード
  2. VectorRasterizationOptionsクラスのインスタンスを初期化します
  3. PngOptionsを使用してputputPNG画像を保存します

以下のコードスニペットは、C#を使用してEMZをPNG画像に変換する方法を示しています。

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 });
}

C#を使用してWMZをPNGに変換する

それでは、圧縮されたWMFファイルWMZを直接PNGに変換する方法を学びましょう。以下の手順で、WMZをPNGに変換します。

  1. ソースWMZイメージファイルをロードします
  2. VectorRasterizationOptionsクラスのオブジェクトを宣言します
  3. PngOptionsクラスを使用してPNG画像ファイルを保存する

以下のコードスニペットは、これらの手順に従い、C#を使用してWMZをPNGに変換する方法を示しています。

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 });
}

C#を使用してSVGZをPNGに変換する

SVGZからPNGへの変換のエキサイティングな機能は、お客様からのいくつかの要求に基づいて導入されました。この機能を使用すると、SVGZをPNG画像に効率的に変換して、忠実度の高い結果を得ることができます。あなたがする必要があるのは、以下のステップに従うことです:

  • ソースSVGZ画像ファイルをロードする
  • VectorRasterizationOptionsクラスのオブジェクトを初期化します
  • PngOptionsを指定して出力PNGファイルを保存します

以下のコードスニペットは、C#を使用してSVGZをPNGに変換する方法を説明する次の手順に基づいています。

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 });
}

結論

ファイルの転送に役立つベクター画像形式の圧縮と解凍について説明しました。このアプローチは、そのような画像をアーカイブする場合にも適しています。たとえば、アーカイブする前にそのようなベクター画像を圧縮し、後で要件に応じて解凍することができます。さらに、Aspose.Imaging for .NET APIを使用して、圧縮されたベクター画像をラスター画像に変換する方法についても説明しました。さらに、APIリファレンスおよびAPIドキュメントを調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。

関連項目