ビットマップ画像は現代のグラフィックスのコア部分です。これらはウェブサイト、モバイルデバイス、デスクトップアプリケーションで使用されます。BMP、GIF、PNG、およびJPEGのような形式はすべてビットマップベースです。この記事では、Javaでビットマップを作成、読み込み、填充、および描画する方法を学びます。
Java Image Drawing SDK to Work with Bitmaps
この記事では、Aspose.Drawing for Javaを使用して、Javaでビットマップを作成し、描画します。これは、プラットフォームを超えて形状、テキスト、画像を描画することをサポートする2DグラフィックスAPIです。さまざまな形式を簡単に読み込み、保存できます。
ライブラリは releases からダウンロードし、JAR をプロジェクトに追加するか、Maven 経由でインストールできます。
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-drawing</artifactId>
<version>25.6</version> <!-- Replace with latest version -->
</dependency>
1. Javaで新しいビットマップを作成する
ビットマップをゼロから作成するには、以下の手順に従ってください:
- 特定の幅と高さを持つ新しい
bitmapを作成します。 - ビットマップから
Graphicsクラスのオブジェクトを作成します。 Penクラスのオブジェクトを特定の厚さと色で初期化します。- ビットマップ上にペンを使って楕円を描いてください。
- ビットマップをPNG画像ファイルとして保存してください。
以下のコードサンプルでは、Javaで新しいビットマップを作成する方法を示しています。
// 800ピクセルの幅と高さの新しいビットマップを作成します。
Bitmap bitmap = new Bitmap(800, 800);
// ビットマップから描画を可能にするグラフィックスオブジェクトを作成します。
Graphics graphics = Graphics.fromImage(bitmap);
// 赤いペンを5ピクセルの太さで初期化します。
Pen pen = new Pen(Color.getRed(), 5);
// 楕円を描くために、ペンを使用して(0, 0)から始め、幅と高さを700ピクセルに設定します。
graphics.drawEllipse(pen, 0, 0, 700, 700);
// 最終ビットマップをPNG画像ファイルとして保存します。
bitmap.save("output.png");

Javaで新しいビットマップを作成する
2. メモリストリームからビットマップを作成する
メモリーストリームからビットマップを作成するには、以下の手順に従ってください。
- 既存の画像ファイルのファイル入力ストリームを開きます。
- 入力ストリームからビットマップを作成します。
- ビットマップを新しい画像ファイルに保存します。
次のコードサンプルは、Javaで入力ストリームを使用してビットマップを作成する方法を示しています。
// 既存の画像を読み込むためにファイル入力ストリームを開きます。
InputStream stream = new FileInputStream("input.png");
// 入力ストリームからビットマップを作成する
Bitmap bitmap = new Bitmap(stream);
// ビットマップを新しいPNGファイルとして保存します。
bitmap.save("output.png", ImageFormat.getPng().d());
3. ビットマップをファイルに保存
ビットマップ画像を複数のサポートされているフォーマットでファイルに保存することができます。save() メソッドを呼び出す際に、ファイルパスと希望の画像フォーマットを指定するだけです。これにより、ビットマップをPNG、JPEG、BMP、GIFなどとしてエクスポートすることができます。
ビットマップを異なる形式に保存するには、画像形式を変更します:
- ビットマップを BMP ファイルとして保存する
bitmap.save("output.bmp", ImageFormat.getBmp().d());
- ビットマップをPNGファイルとして保存する
bitmap.save("output.png", ImageFormat.getPng().d());
- ビットマップをJPGファイルとして保存する
bitmap.save("output.jpg", ImageFormat.getJpeg().d());
- ビットマップをGIFファイルとして保存する
bitmap.save("output.gif", ImageFormat.getGif().d());
4. ビットマップに形を描く
ビットマップ上にさまざまな形状を描画するには、Java 用の Aspose.Drawing が提供する Graphics クラスを使用します。このクラスを使用すると、カスタムグラフィックスを作成でき、線、曲線、長方形、楕円などに対して完全な制御を持つことができます。
次のコードサンプルは、Javaでビットマップ上に図形を描画する方法を示しています。
// 500 ピクセルの幅と高さを持つ新しいビットマップを作成します。
Bitmap bitmap = new Bitmap(500, 500);
// ビットマップ上に描画するためのグラフィックスオブジェクトを作成します。
Graphics graphics = Graphics.fromImage(bitmap);
// 青いペンを2ピクセルの太さで初期化します。
Pen pen = new Pen(Color.getBlue(), 2);
// Draw a rectangle starting at (10, 10) with width 100 and height 50
graphics.drawRectangle(pen, 10, 10, 100, 50);
// 楕円を (10, 130) から始めて、幅 280、高さ 280 で描いてください。
graphics.drawEllipse(pen, 10, 130, 280, 280);
// 最終ビットマップ画像をPNGファイルとして保存します
bitmap.save("draw_shapes.png");

ビットマップにシェイプを描くには、Javaを使用します。
ビットマップ上に、Aspose.Drawing for JavaのGraphicsクラスが提供する組み込みの描画メソッドを使用してさまざまな形状を描画できます。以下は、サポートされている形状タイプとそれに対応するメソッドです:
- Arc:
drawArc()メソッドを使用してアークを描画します。 - ベジェ曲線:
drawBezier()メソッドを使用して、単一のベジェ曲線を描画します。 - 複数のベジエ曲線:
drawBeziers()メソッドを使用して、一連のベジエスプラインを描画します。 - カーブ:
drawCurve()メソッドを使用して、滑らかで曲がった形状を作成します。 - クローズドカーブ:
drawClosedCurve()メソッドを使用して、クローズドスプラインを描画します。 - 楕円:
drawEllipse()メソッドを使用して楕円形を描画します。 - ライン:
drawLine()メソッドを使用して直線を描画します。 - 複数行:
drawLines()メソッドを使用して、一連の接続された線を描画します。 - パス:
GraphicsPathを使用して複雑な形状を描画するには、drawPath()メソッドを使用します。 - パイ:
drawPie()メソッドを使用してパイ スライス形状を描画します。 - ポリゴン:
drawPolygon()メソッドを使用して、点を接続してポリゴンを作成します。 - 長方形:
drawRectangle()メソッドを使用して長方形を描画します。 - 複数の長方形:
drawRectangles()メソッドを使用して、複数の長方形を一度に描画します。
ビットマップ上に形状に加えて、画像を描くこともできます:
- アイコン: 特定の長方形内にアイコンを描画するには、
drawIcon()メソッドを使用します。 - 画像:
drawImage()メソッドを使用して、ビットマップに別の画像を描画します。
これらの描画方法を使うことで、カスタムグラフィックス、図、または注釈付き画像をプログラムで簡単に作成できます。
5. ビットマップにテキストを描画する
ビットマップにテキストを描画するには、以下の手順に従ってください:
- 幅と高さが定義された新しいビットマップを作成します。
- ビットマップからグラフィックスオブジェクトを作成します。
- ビットマップを薄い灰色の背景色でクリアします。
- フォントを希望の名前とサイズで定義します。
- 黒色のソリッドブラシを作成します。
- ビットマップ上に指定されたフォントとブラシを使用してテキスト文字列を描画します。
- ビットマップをPNG画像ファイルとして保存します。
次のコードサンプルは、Javaでビットマップにテキストを描画する方法を示しています。
// JavaでAspose.Drawingを使用してビットマップにテキストを描く方法
// 500x200 ピクセルの新しいビットマップを作成します。
Bitmap bitmap = new Bitmap(500, 200);
// ビットマップに描画するためのグラフィックスオブジェクトを作成します。
Graphics graphics = Graphics.fromImage(bitmap);
// ビットマップ全体を薄い灰色の背景で塗りつぶします。
graphics.clear(Color.getLightGray());
// フォントを「Arial」という名前で、サイズ24に定義します。
Font font = new Font("Arial", 24);
// テキストを描くための黒いブラシを作成します。
Brush brush = new SolidBrush(Color.getBlack());
// ビットマップの位置 (20, 80) に文字列を描画します
graphics.drawString("Welcome to Bitmap!", font, brush, 20, 80);
// 最終画像をテキスト付きでPNGファイルとして保存してください。
bitmap.save("output.png");

Java ビットマップ上にテキストを描画する
6. ビットマップを単色で塗りつぶす
画像の一部を単色で塗りつぶすには、以下の手順に従ってください:
- 新しいビットマップを作成し、希望の幅と高さを設定します。
- ビットマップからグラフィックスオブジェクトを作成します。
- 無地の灰色のブラシを作成して塗りつぶします。
- ビットマップ全体を塗りつぶした長方形を使用してグレーの色で塗りつぶします。
- ビットマップをPNG画像ファイルとして保存してください。
次のコードサンプルは、Javaで矩形を使用してビットマップを単色で塗りつぶす方法を示しています。
// 500x500 ピクセルの新しいビットマップを作成します。
Bitmap bitmap = new Bitmap(500, 500);
// ビットマップに描画するためのグラフィックスオブジェクトを作成します。
Graphics graphics = Graphics.fromImage(bitmap);
// 固体の灰色のブラシを作成して塗りつぶしに使用します。
SolidBrush brush = new SolidBrush(Color.getGray());
// ビットマップ全体を灰色で塗りつぶします。
graphics.fillRectangle(brush, 0, 0, bitmap.getWidth(), bitmap.getHeight());
// ビットマップを埋めた状態で PNG 画像ファイルとして保存します。
bitmap.save("output.png");

Java ビットマップに長方形を描画し、色で塗りつぶす
7. 画像をビットマップに読み込む
画像ファイルを次のように Bitmap オブジェクトにロードすることもできます:
- 新しい空のビットマップを希望のサイズで作成します。
- 既存の画像をビットマップオブジェクトに読み込みます。
- 空のビットマップからグラフィックスオブジェクトを作成します。
- 空白のビットマップの左上隅に読み込まれた画像を描画します。
- 最終ビットマップをPNG画像ファイルとして保存します。
以下のコードサンプルは、Javaを使用してビットマップに画像を読み込む方法を示しています。
// 500x500ピクセルの新しい空のビットマップを作成します。
Bitmap bitmap = new Bitmap(500, 500);
// ファイルから既存の画像をビットマップオブジェクトに読み込む
Bitmap loaded = new Bitmap("C:\\Files\\Drawings\\sample.jpg");
// 空白のビットマップに描画するためのグラフィックスオブジェクトを作成します。
Graphics graphics = Graphics.fromImage(bitmap);
// 読み込まれた画像を空白のビットマップに位置 (0, 0) で描画します。
graphics.drawImage(loaded, 0, 0);
// 最終ビットマップを新しいPNGファイルとして保存します。
bitmap.save("output.png");

Javaを使用してBitmapに画像をロードする
8. 既存の画像をサイズ変更する
ビットマップ画像のサイズを変更するには:
- オリジナル画像をビットマップオブジェクトにロードします。
- オリジナル画像の幅と高さの半分の新しいビットマップを作成します。
- リサイズされたビットマップをPNG画像ファイルとして保存します。
次のコードサンプルは、既存の画像をリサイズし、新しいビットマップとして保存する方法を示しています。
// ファイルからビットマップオブジェクトに元の画像を読み込む
Bitmap original = new Bitmap("C:\\Files\\Drawings\\sample.jpg");
// 新しいリサイズされたビットマップを作成し、元の幅と高さの50%にします。
Bitmap resized = new Bitmap(original, new Size((int)(original.getWidth() * 0.5), (int)(original.getHeight() * 0.5)));
// リサイズされたビットマップを新しいPNG画像ファイルとして保存します
resized.save("output.png");

Javaを使用して既存の画像のサイズを変更する
Aspose.Drawingを無料で試してみてください
Aspose.Drawingを制限なしで探索するための 無料の一時ライセンス を取得できます。
Javaでビットマップを作成:無料リソース
ビットマップをJavaで扱うことについてさらに探求したい場合は、以下の無料リソースを参照して理解を深め、生産性を向上させてください:
結論
このチュートリアルでは、Aspose.Drawing for Javaを使用してビットマップを作成し、操作する方法を学びました。ゼロからビットマップを生成する方法、既存の画像をロードしてサイズ変更する方法、図形やテキストを描画する方法、領域を単色で塗りつぶす方法、PNG、JPG、BMP、GIFなどのさまざまな形式で画像を保存する方法について説明しました。これらの機能を使用すると、Javaアプリケーションにカスタムグラフィックスや画像処理を簡単に追加できます。
Aspose.Drawing for Java を使用すると、2D グラフィックスをプログラムで簡単に操作できます。詳細については 公式ドキュメント を参照してください。
