
画像サイズ変更は画像処理において一般的な操作であり、ウェブ出版のための画像準備、サムネイル、またはファイルサイズの削減など、さまざまなシナリオで役立ちます。この記事では、C#で画像をサイズ変更する方法について説明します。JPGやPNGのラスタ画像をサイズ変更する方法、比率を保ってサイズ変更する方法、そしてSVGなどのベクター画像を精密に扱う方法を学ぶことができます。
C#では画像をリサイズする理由は何ですか?
画像をプログラムでリサイズすることは、手動での介入なしに画像処理タスクを自動化し、スケールできる能力を提供します。これが必要な理由はいくつかあります:
- 画像サイズを最適化して、ウェブアプリの読み込み時間と帯域幅の使用を減らすのに役立ちます。
- さまざまなプラットフォームや画面サイズでの一貫した表示を保証します。
- 画像のプレビューやサムネイルを動的に生成するのに役立ちます。
- ドキュメント生成、アーカイブ、または出版などのワークフローで自動画像調整を可能にします。
画像のサイズ変更 - C# API インストール
最新の安定版 Conholdate.Total for .NET を、システムで以下のNuGetインストールコマンドを使用してインストールできます:
PM> NuGet\Install-Package Conholdate.Total
C#で画像のサイズを変更する
ラスタ画像(JPGなど)の基本的なリサイズを固定の寸法を使用してC#で行いましょう。以下の手順に従ってください:
- ファイルから JPG 画像を Image.Load() を使用して読み込みます。
- Resize() メソッドを呼び出して、幅と高さをそれぞれ 300 ピクセルに設定します。
- 画像を image.Save() を使用して保存します。
以下のサンプルコードは、C#における画像のリサイズを示しています:
// 画像を読み込む
using (Image image = Image.Load("aspose-logo.jpg"))
{
// 画像をリサイズして、リサイズされた画像を保存します。
image.Resize(300, 300);
image.Save("SimpleResizing_out.jpg");
}
C# で画像を比率に従ってリサイズします。
このセクションでは、C#でPNG画像の元のアスペクト比を維持しながら画像のサイズを変更する方法を示します。
- Image.Load() を使用して PNG 画像を読み込みます。
- 画像がキャッシュされているか確認してください。されていない場合は、パフォーマンスのために CacheData() を呼び出してください。
- 現在の幅と高さを2で割って、新しい比率の寸法を計算します。
- ResizeWidthProportionally() と ResizeHeightProportionally() を使用してアスペクト比を維持します。
- リサイズした画像を image.Save() メソッドで保存します。
次のコードスニペットは、C#での比率に基づく画像のリサイズを示しています。
// 画像を読み込む
using (Image image = Image.Load("aspose-logo.png"))
{
// キャッシュ画像データ
if (!image.IsCached)
{
image.CacheData();
}
// 幅と高さを指定してください
int newWidth = image.Width / 2;
image.ResizeWidthProportionally(newWidth);
int newHeight = image.Height / 2;
image.ResizeHeightProportionally(newHeight);
// 画像を保存する
image.Save("ResizeImageProportionally_out.png");
C# でベクター画像をリサイズする
この例は、C# でベクター画像 (SVG) のサイズを変更する方法を示しています::
- SVG ベクター画像を Image.Load() を使用して読み込みます。
- 現在の幅と高さにスケーリングファクター(10 と 15)を掛け算してください。
- Resize()を新しい幅と高さで呼び出します。
- image.Save() を使用して PngOptions でリサイズされた画像を PNG として保存します。
- SvgRasterizationOptionsを指定して、ベクター画像の適切なレンダリングを保証します。
以下のコードサンプルは、C#でベクター画像のサイズを変更する方法を説明しています:
// 画像をロードする
using (Image image = Image.Load("image.svg"))
{
// 画像を PNG としてサイズ変更してください。
image.Resize(image.Width * 10,image.Height * 15);
image.Save("Logotype_10_15.png", new PngOptions()
{
VectorRasterizationOptions = new SvgRasterizationOptions()
});
}
無料評価ライセンス
これらやAPIが提供する他の多くの機能を評価することができます。 無料の一時ライセンス を取得することで。
要約
画像のリサイズは、視覚コンテンツを管理、表示、またはエクスポートするアプリケーションにとって不可欠な機能です。Conholdate.Total for .NETを使用すると、C#で画像をリサイズすることが効率的かつ開発者に優しいものになります。固定寸法で作業する場合、アスペクト比を維持する場合、またはベクター画像を変換する場合でも、さまざまな形式をサポートし、リサイズ動作を細かく制御できます。ただし、質問がある場合は、forumまでお気軽にお問い合わせください。