NET で高度なオプションで Vector と Raster 画像を圧縮する方法

NET で高度なオプションで Vector と Raster 画像を圧縮する方法

ベクトルおよびラスター画像は、デザイン、電子商取引、およびウェブ開発を含むさまざまな業界で広く使用されますが、ラスター画像(例えば、JPEG、PNG)はピクセルベースであるが、ベクトル画像(例えば、SVG、EPS)はパスを使用し、圧縮のニーズをユニークにします.

ベクトルとラスター画像の圧縮の主な利点

  • 最適化ファイルサイズ:- 高解像度ラスターまたはスケール可能なベクトルファイルのストレージおよび帯域幅の要件を減らす.

  • 優れたパフォーマンス:- ウェブアプリケーションで画像をより速くアップロードし、ランダムの遅延を減らします.

  • 特定形式の圧縮:- ベクトルおよびラスターフォーマットのユニークな特性に合致するためのカスタマイズ圧縮.

原題:Setting Up Aspose.Imaging

  • インストール .ネット SDK あなたのシステムで.
  • Aspose.Imaging をあなたのプロジェクトに追加する: dotnet add package Aspose.Imaging
  • 測定されたライセンスを取得し、それを使用して設定します SetMeteredKey().

ステップ・ステップ・ガイド Vector and Raster Images

ステップ1:測定ライセンスの設定

ベクトルおよびラスターフォーマットの処理のための完全な機能を確保します.

using Aspose.Imaging;

Metered license = new Metered();
license.SetMeteredKey("<your public key>", "<your private key>");
Console.WriteLine("Metered license configured successfully.");

ステップ2:コンプレッシャーラスター画像

ラスター画像、例えば target="_blank" rel="noopener"> PNG

JPEGとピクセルレベルの圧縮は、質の損失なしにサイズを減らすために必要です.

PNGファイルの圧縮

using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;

string inputPath = @"c:\images\input.png";
string outputPath = @"c:\output\compressed_raster.png";

using (var image = Image.Load(inputPath))
{
    var pngOptions = new PngOptions
    {
        CompressionLevel = 9,
        ColorType = PngColorType.IndexedColor,
        Palette = ColorPaletteHelper.GetCloseImagePalette((RasterImage)image, 256)
    };

    image.Save(outputPath, pngOptions);
    Console.WriteLine($"Compressed PNG saved at: {outputPath}");
}

JPEGファイルの圧縮

string inputPath = @"c:\images\input.jpg";
string outputPath = @"c:\output\compressed_raster.jpg";

using (var image = Image.Load(inputPath))
{
    var jpegOptions = new JpegOptions
    {
        CompressionType = JpegCompressionMode.Progressive,
        Quality = 70
    };

    image.Save(outputPath, jpegOptions);
    Console.WriteLine($"Compressed JPEG saved at: {outputPath}");
}

ステップ3:圧縮ベクトル画像

ヴェクトルファイルなど target="_blank" rel="noopener"> SVG

あるいは EPS は、効果的な圧縮のためのコース最適化とラスター化を必要とします.

SVGファイルの圧縮

string inputPath = @"c:\images\input.svg";
string outputPath = @"c:\output\compressed_vector.svgz";

using (var image = Image.Load(inputPath))
{
    var svgOptions = new SvgOptions
    {
        Compress = true
    };

    image.Save(outputPath, svgOptions);
    Console.WriteLine($"Compressed SVG saved at: {outputPath}");
}

EPSファイルの圧縮

string inputPath = @"c:\images\input.eps";
string outputPath = @"c:\output\compressed_vector.eps";

using (var image = Image.Load(inputPath))
{
    var epsOptions = new EpsRasterizationOptions
    {
        PageWidth = image.Width,
        PageHeight = image.Height
    };

    image.Save(outputPath, epsOptions);
    Console.WriteLine($"Compressed EPS saved at: {outputPath}");
}

実装:アプリケーションで圧縮された画像を使用する

  • Webアプリケーション:- 圧縮された画像を A に保存する /compressed/ ディレクトリとCDNを介して送信します.

  • デザインツール:- 設計ソフトウェアでスケール可能なグラフィックのための最適化されたベクトルファイルを使用します.

  • モバイルアプリケーション:- アプリのパフォーマンスを向上させるために軽量なラスター画像を組み込む.

現実世界アプリケーション

  • グラフィック&デザイン:- 高品質の印刷およびウェブ使用のためのベクターグラフィック(例えば、ロゴ、アイコン)を最適化します.

  • 電子商取引(電子商取引:- より速いブラウジングと帯域幅のコストを減らすために製品画像を圧縮します.

  • デジタルアーカイブ:- 高解像度のラスター画像を長期保存に効率的に保存します.

共通の問題と修正

  • ブルーリー・ラスター(Blurry Raster Images:- 高品質のリサイクルを使用し、ラスターフォーマットの過剰圧縮を避ける.

  • サポートされていないベクトル機能:- 確実なベクターファイルは、望ましい圧縮オプションと互換性があります.

  • ファイル許可エラー:- 出力ディレクトリが書くアクセスがあることを確認します.

結論

Aspose.Imaging for .NET は、最適なファイルサイズと品質を確保するために、ベクトルおよびラスター画像を圧縮するための先進的なツールを提供します.

 日本語