ビットマップは、コンピュータ グラフィックスの作成と保存に使用されます。ビットマップ イメージは、Web ページや、カメラ、スマートフォンなどのデジタル デバイスで広く使用されています。最も一般的なビットマップ グラフィック ファイルの種類は、BMP、GIF、PNG、および JPEG。この記事では、C# でビットマップを作成する方法を学習します。
この記事では、次のトピックについて説明します。
- ビットマップを作成、読み込み、塗りつぶし、描画するための C# API
- ゼロから新しいビットマップを作成する
- バイト配列からビットマップを作成
- ビットマップを画像ファイルとして保存
- ビットマップに図形を描く
- ビットマップ画像にテキストを描画
- ビットマップを単色で塗りつぶす
- ビットマップで画像を読み込む
- ビットマップを使用して既存の画像のサイズを変更する
ビットマップを作成、読み込み、塗りつぶし、描画するための C# API - 無料ダウンロード
ビットマップを作成するには、Aspose.Drawing for .NET API を使用します。テキスト、ジオメトリ、および画像をプログラムで描画するためのクロスプラットフォームの 2D グラフィックス ライブラリです。 サポートされているファイル形式の読み込み、保存、および操作が可能です。
APIのDLLをダウンロードするか、NuGetを使ってインストールしてください。
PM> Install-Package Aspose.Drawing
C# で新しいビットマップを作成する
以下の手順に従って、新しいビットマップを最初から作成できます。
- 最初に、Bitmap クラスを使用して、指定されたサイズと形式で新しいビットマップを作成します。
- 次に、FromImage() メソッドを使用して Bitmap オブジェクトから新しい Graphics オブジェクトを作成します。
- 次に、指定された色とサイズで Pen クラス オブジェクトを初期化します。
- その後、DrawEllipse() メソッドを呼び出して、指定したサイズの Ellipse を描画します。
- 最後に、Save() メソッドを使用して出力画像を保存します。
次のコード サンプルは、C# で新しいビットマップを作成する方法を示しています。
// このコード例は、C# でプログラムによって新しいビットマップを作成する方法を示しています。
// Bitmap オブジェクトの初期化
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// 新しいグラフィックを作成する
Graphics graphics = Graphics.FromImage(bitmap);
// ペンを初期化する
Pen pen = new Pen(Color.Red, 5);
// 長方形を描く
graphics.DrawEllipse(pen, new Rectangle(0, 0, 700, 700));
// ファイルを保存する
bitmap.Save(@"C:\Files\Drawings\output.png");
C# でバイト配列からビットマップを作成する
以下の手順に従って、メモリ ストリーム バイトからビットマップを作成できます。
- 画像ファイルをバイト配列に読み込みます。
- バイト配列オブジェクトを使用して、MemoryStream の新しいインスタンスを作成します。
- Bitmap クラスと MemoryStream オブジェクトを使用して、新しいビットマップを作成します。
- 最後に、Save() メソッドを使用して画像を保存します。
次のコード サンプルは、C# で MemoryStream を使用してバイト配列からビットマップを作成する方法を示しています。
// このコード例は、C# でメモリ ストリーム バイトから新しいビットマップを作成する方法を示しています。
// イメージをロードし、すべてのバイトを読み取ります
var file = File.ReadAllBytes(@"C:\Files\Drawings\sample.jpg");
// メモリ ストリームの作成
MemoryStream stream = new MemoryStream(file);
// 新しいビットマップを作成する
Bitmap bitmap = new Bitmap(stream);
// ファイルを保存する
bitmap.Save(@"C:\Files\Drawings\output.jpg");
C# ビットマップをファイルに保存する
前述の手順に従って、サポートされているさまざまなファイル形式でビットマップ イメージをファイルに保存できます。ただし、最後の手順で Save(string filename, ImageFormat format) メソッドを使用して画像ファイルを保存するときに、目的の保存ファイル形式の拡張子を指定する必要があります。
- ビットマップを BMP ファイルとして保存する
bitmap.Save(@"C:\Files\output.bmp", ImageFormat.Bmp);
- ビットマップを PNG ファイルとして保存する
bitmap.Save(@"C:\Files\output.png", ImageFormat.Png);
- ビットマップを JPG ファイルとして保存する
bitmap.Save(@"C:\Files\output.jpg", ImageFormat.Jpeg);
- ビットマップを GIF ファイルとして保存する
bitmap.Save(@"C:\Files\output.gif", ImageFormat.Gif);
C# ビットマップ上に描画
前述の手順に従って、ビットマップにさまざまな形状や画像を描画できます。ただし、目的の形状を描画するには、形状固有のメソッドを使用する必要があるだけです。
提供された特定のメソッドを使用して、ビットマップ上に描画する次の形状を描画できます。
- アーク: DrawArc() メソッドを使用してアークを描画できます。
- ベジェ: DrawBezier() メソッドを使用してベジェを描画できます。
- 一連のベジェ スプライン: DrawBezier() メソッドを使用して、一連のベジェ スプラインを描画できます。
- 曲線: DrawCurve() メソッドを使用して曲線形状を描画できます。
- ClosedCurve: DrawClosedCurve() メソッドを使用して閉じた曲線を描くことができます。
- 楕円: DrawEllipse() メソッドを使用して楕円を描くことができます。
- 線: DrawLine() メソッドを使用して線を描画できます。
- 一連の線: DrawLines() メソッドを使用して一連の線を描画できます。
- パス: DrawPath() メソッドを使用してパスを描画できます。
- 円: DrawPie() メソッドを使用して円を描くことができます。
- ポリゴン: DrawPolygon() メソッドを使用してポリゴンを描画できます。
- Rectangle: DrawRectangle() メソッドを使用して Rectangle を描画できます。
- 一連の Rectangles: DrawRectangles() メソッドを使用して、一連の Rectangles を描画できます。
次の方法を使用して、ビットマップ上に画像を描画できます。
- アイコン: DrawIcon() メソッドを使用して、Rectangle 構造体によって指定された領域内に、指定されたアイコンによって表される画像を描画できます。
- 画像: DrawImage() メソッドを使用して、指定した任意の画像を描画できます。
C# ビットマップ上にテキストを描画
以下の手順に従って、ビットマップ上に任意の文字列を描画できます。
- まず、指定されたサイズの Bitmap クラスを使用して新しいビットマップを作成します。
- 次に、FromImage() メソッドを使用して Bitmap オブジェクトから新しい Graphics オブジェクトを作成します。
- 次に、目的のフォント ファミリ、スタイル、およびサイズで Font クラス オブジェクトを定義します。
- 一方、SolidBrush オブジェクトを指定された色で初期化します。
- その後、表示するテキスト、Font、および Brush オブジェクトを引数として DrawString() メソッドを呼び出します。
- 最後に、Save() メソッドを使用して出力画像を保存します。
次のコード サンプルは、C# でビットマップ上にテキストを描画する方法を示しています。
// このコード例は、C# でプログラムによって新しいビットマップにテキストを描画する方法を示しています。
// Bitmap オブジェクトの初期化
Bitmap bitmap = new Bitmap(500,200);
// 新しいグラフィックを作成する
Graphics graphics = Graphics.FromImage(bitmap);
// フォントの初期化
var font = new Font(FontFamily.GenericSerif, 40f, FontStyle.Bold);
// ブラシを初期化する
var brush = new SolidBrush(Color.Red);
// 長方形を描く
graphics.DrawString("Welcome to Bitmap!", font, brush, 10, 20);
// ファイルを保存する
bitmap.Save(@"C:\Files\Drawings\output.png", ImageFormat.Png);
C# でビットマップを単色で塗りつぶす
以下の手順に従って、塗りつぶされた長方形を使用してビットマップを単色で塗りつぶし、新しいビットマップに保存できます。
- まず、指定されたサイズの Bitmap クラスを使用して新しいビットマップを作成します。
- 次に、FromImage() メソッドを使用して Bitmap オブジェクトから新しい Graphics オブジェクトを作成します。
- 次に、指定された位置とサイズで Rectangle クラス オブジェクトを初期化します。
- その後、ブラシの色と Rectangle を指定して FillRectangle() メソッドを呼び出します。
- 最後に、Save() メソッドを使用して出力画像を保存します。
次のコード サンプルは、C# で四角形を使用してビットマップを単色で塗りつぶす方法を示しています。
// このコード例は、C# で塗りつぶされた四角形で新しいビットマップを作成する方法を示しています。
// ビットマップを指定サイズで初期化
Bitmap bitmap = new Bitmap(500, 500);
// 新しいグラフィックを作成する
Graphics graph = Graphics.FromImage(bitmap);
// 長方形を定義する
Rectangle ImageSize = new Rectangle(0, 0, 500, 500);
// 塗りつぶされた長方形を描く
graph.FillRectangle(Brushes.Gray, ImageSize);
// ファイルを保存する
bitmap.Save(@"C:\Files\Drawings\output.png");
C# を使用してビットマップにイメージを読み込む
以下の手順に従って、既存の画像をビットマップにロードし、新しいビットマップとして保存することもできます。
- まず、Bitmap クラスを使用して画像を読み込みます。
- 次に、指定されたサイズの Bitmap クラスを使用して新しいビットマップを作成します。
- 次に、FromImage() メソッドを使用して、新しく作成した Bitmap オブジェクトから新しい Graphics オブジェクトを作成します。
- その後、画像と位置座標を引数として DrawImage() メソッドを呼び出します。
- 最後に、Save() メソッドを使用して出力画像を保存します。
次のコード サンプルは、C# を使用してビットマップに画像を読み込む方法を示しています。
// このコード例は、画像をビットマップに読み込み、新しいビットマップとして保存する方法を示しています。
// イメージをロードします。
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");
// ビットマップを指定サイズで初期化
Bitmap bitmap = new Bitmap(1000, 1000);
// 新しいグラフィックを作成する
Graphics graphics = Graphics.FromImage(bitmap);
// 指定した位置に画像を描画する
graphics.DrawImage(image, 10, 10);
// ファイルを保存する
bitmap.Save(@"C:\Files\Drawings\output.png");
C# でビットマップを使用して画像のサイズを変更する方法
以下の手順に従って、既存の画像をビットマップに読み込んでサイズを変更し、新しいビットマップとして保存できます。
- Bitmap クラスを使用して既存の画像を読み込みます。
- 読み込まれた画像と指定されたサイズで Bitmap クラスを使用して、新しいビットマップを作成します。
- 最後に、Save() メソッドを使用して出力画像を保存します。
次のコード サンプルは、C# で既存のイメージのサイズを変更し、新しいビットマップとして保存する方法を示しています。
// このコード例は、C# で既存のイメージのサイズを変更し、新しいビットマップを作成する方法を示しています。
// イメージをロードします。
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");
// 読み込まれた画像の半分のサイズの新しいビットマップを作成します。
Bitmap bitmap = new Bitmap(image, (int)(image.Width * 0.5), (int)(image.Height * 0.5));
// ファイルを保存する
bitmap.Save(@"C:\Files\Drawings\output.jpg");
無料の一時ライセンスを取得する
無料の一時ライセンスを取得して、評価制限なしで Aspose.Drawing for .NET を試すことができます。
結論
この記事では、次の方法を学びました。
- 新しいビットマップを作成します。
- ビットマップ上に四角形、楕円形などを描画します。
- 既存の画像をロードします。
- 既存の画像のサイズを変更し、新しいサイズで新しいビットマップを作成します。
- ビットマップ イメージを MemoryStream またはバイト配列からファイルに保存します。
- C# でビットマップの幅と高さを設定します。
C# で新しいビットマップを作成するだけでなく、ドキュメンテーション を使用して Aspose.Drawing for .NET の詳細を学び、API でサポートされているさまざまな機能を調べることができます。ご不明な点がございましたら、無料サポート フォーラムまでお気軽にお問い合わせください。