画像圧縮は、画像のサイズを縮小するための一般的な方法です。これにより、画像の保存と送信にそれぞれ必要なスペースと時間を最小限に抑えることができます。画像の品質が低下しないように画像を圧縮するさまざまな圧縮技術が利用可能です。これに従って、この投稿では、C#を使用してプログラムでPNG、JPEG、およびTIFF画像を圧縮する簡単な方法をいくつか紹介します。
C#画像圧縮API-無料ダウンロード
Aspose.Imaging for .NETは、.NETアプリケーション内から一般的な画像形式を操作できる強力な画像処理APIです。さらに、APIを使用すると、PNG、JPEG、TIFFなどのさまざまな種類の圧縮を画像に適用できます。 APIを使用するには、DLLをダウンロードするか、NuGetを使用してインストールします。
Install-Package Aspose.Imaging
PNG画像をC#で圧縮する
PNG画像の場合、圧縮レベルを0〜9に設定できます。ここで、9は最大圧縮、0は保存モードです。以下は、Aspose.Imaging for .NETを使用してPNG画像を圧縮する手順です。
- Imageクラスを使用して画像をロードします。
- PngOptionsクラスのオブジェクトを作成します。
- PngOptions.CompressionLevelプロパティを使用して圧縮レベルを設定します。
- Image.Save(string, PngOptions)メソッドを使用して画像を保存します。
次のコードサンプルは、C#を使用してPNG画像を圧縮する方法を示しています。
// ドキュメントディレクトリへのパス。
string dataDir = RunExamples.GetDataDir_PNG();
// ファイル(またはストリーム)から画像をロードする
using (Image image = Image.Load(dataDir + "aspose_logo.png"))
{
// 可能なCompressionLevel範囲をループします
for (int i = 0; i <= 9; i++)
{
// 結果のPNGごとにPngOptionsのインスタンスを作成し、CompressionLevelを設定し、結果をディスクに保存します
PngOptions options = new PngOptions();
options.CompressionLevel = i;
image.Save(i + "_out.png", options);
}
}
C#でJPEG画像を圧縮する
JPEG画像を処理するために、Aspose.Imaging for .NETは、JPEG画像に次の圧縮タイプを提供するJpegOptionsクラスを提供します。
- ベースライン
- プログレッシブ
- 無損失の
- JpegLs
上記の圧縮タイプのいずれかを使用してJPEG画像を圧縮する手順は次のとおりです。
- Imageクラスを使用してJPEG画像をロードします。
- JpegOptionsクラスのオブジェクトを作成します。
- JpegOptions.ColorTypeプロパティを使用してカラーモードを設定します。
- JpegOptions.CompressionTypeプロパティを使用して圧縮タイプを設定します。
- Image.Save(string, JpegOptions)メソッドを使用して画像を保存します。
次のコードサンプルは、C#を使用してJPEG画像を圧縮する方法を示しています。
// ドキュメントディレクトリへのパス。
string dataDir = RunExamples.GetDataDir_JPEG();
using (var original = Image.Load(dataDir+"ColorGif.gif"))
{
var jpegOptions = new JpegOptions()
{
ColorType = JpegCompressionColorMode.Grayscale,
CompressionType = JpegCompressionMode.Progressive,
};
original.Save("D:/temp/result.jpg", jpegOptions);
}
C#でTIFF画像に圧縮を適用する
Aspose.Imaging for .NETは、LZW、Packbits、CCIT Fax 3&4などを含むTIFF画像の幅広い圧縮タイプを提供します。要件に応じて適切なタイプを選択できます。 TIFF画像を圧縮する手順は次のとおりです。
- Imageクラスを使用してTIFF画像をロードします。
- TiffOptionsのオブジェクトを作成し、TiffExpectedFormat.Default列挙値で初期化します。
- Tiff画像のBitsPerSample、Compression、Photometricモード、Paletteを設定します。
- Image.Save(string, TiffOptions)メソッドを使用して画像を保存します。
次のコードサンプルは、C#を使用してTIFF画像を圧縮する方法を示しています。
// ドキュメントディレクトリへのパス。
string dataDir = RunExamples.GetDataDir_ModifyingAndConvertingImages();
// ファイルパスの場所またはストリームを介して画像をロードする
Image image = Image.Load(dataDir + "SampleTiff.tiff");
// 結果の画像のTiffOptionsのインスタンスを作成します
TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);
// BitsPerSample、圧縮、測光モード、およびグレイケールパレットを設定します
outputSettings.BitsPerSample = new ushort[] { 4 };
outputSettings.Compression = TiffCompressions.Lzw;
outputSettings.Photometric = TiffPhotometrics.Palette;
outputSettings.Palette = ColorPaletteHelper.Create4BitGrayscale(false);
image.Save(dataDir + "SampleTiff_out.tiff", outputSettings);
結論
この投稿では、C#を使用してPNG、JPEG、およびTIFF画像を圧縮する方法を学習しました。 JPEGおよびTIFF画像については、サポートされているさまざまな圧縮技術もリストされています。 ドキュメントを使用して、.NET画像処理APIの詳細を調べることができます。
関連項目
情報:Aspose JPG to PPTまたはPNG to PPTコンバーターを使用すると、単純な画像からPowerPointプレゼンテーションを生成できます。