public abstract class GraphicsConfiguration extends Object
GraphicsConfigurationクラスは、プリンタやモニターなどのグラフィックス・デスティネーションの特性を記述します。 1つのグラフィックス・デバイスには、異なる描画モードまたは機能を表す多くの関連するGraphicsConfigurationがあります。 対応するネイティブ構造はプラットフォーム間で異なります。 たとえば、X11ウィンドウ・システムでは、各表示はそれぞれ異なるGraphicsConfigurationです。 Microsoft Windowsでは、GraphicsConfigurationは現在の解像度と色深度で使用できるPixelFormatsを表示します。
デスクトップ領域が物理的に複数の画面デバイスにまたがる仮想デバイスのマルチスクリーン環境では、GraphicsConfigurationオブジェクトの境界は、仮想の座標系を基準にしています。 コンポーネントの位置を設定する場合は、次のコード・サンプルで示すように、getBoundsを使って目的のGraphicsConfigurationの境界を取得し、GraphicsConfigurationの座標との位置をオフセットします。
Frame f = new Frame(gc); // where gc is a GraphicsConfiguration
Rectangle bounds = gc.getBounds();
f.setLocation(10 + bounds.x, 10 + bounds.y);
環境が仮想デバイス環境かどうかを判定するには、システムにあるすべてのGraphicsConfigurationオブジェクトでgetBoundsを呼び出します。 返された境界の原点のいずれかが(0, 0)以外であれば、環境は仮想デバイス環境です。
getBoundsを使って仮想デバイスの境界も判定できます。 そのためには、まずシステムにあるすべてのGraphicsConfigurationオブジェクトでgetBoundsを呼び出します。 続いて、getBoundsの呼び出しから返された境界のすべての和集合を計算します。 和集合が仮想デバイスの境界です。 次のコード・サンプルは、仮想デバイスの境界を計算したものです。
Rectangle virtualBounds = new Rectangle();
GraphicsEnvironment ge = GraphicsEnvironment.
getLocalGraphicsEnvironment();
GraphicsDevice[] gs =
ge.getScreenDevices();
for (int j = 0; j < gs.length; j++) {
GraphicsDevice gd = gs[j];
GraphicsConfiguration[] gc =
gd.getConfigurations();
for (int i=0; i < gc.length; i++) {
virtualBounds =
virtualBounds.union(gc[i].getBounds());
}
} Window, Frame, GraphicsEnvironment, GraphicsDevice| 修飾子 | コンストラクタ | 説明 |
|---|---|---|
protected |
GraphicsConfiguration() |
これは、インスタンスを直接には生成できない抽象クラスです。
|
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
BufferedImage |
createCompatibleImage(int width, int height) |
この
GraphicsConfigurationと互換性のあるデータ・レイアウトとカラー・モデルを持つBufferedImageを返します。 |
BufferedImage |
createCompatibleImage(int width, int height, int transparency) |
指定された透明度をサポートし、この
GraphicsConfigurationと互換性のあるデータ・レイアウトとカラー・モデルを持つBufferedImageを返します。 |
VolatileImage |
createCompatibleVolatileImage(int width, int height) |
この
GraphicsConfigurationと互換性のあるデータ・レイアウトとカラー・モデルを持つVolatileImageを返します。 |
VolatileImage |
createCompatibleVolatileImage(int width, int height, ImageCapabilities caps) |
指定されたイメージ機能を使用して、この
GraphicsConfigurationと互換性のあるデータ・レイアウトとカラー・モデルを持つVolatileImageを返します。 |
VolatileImage |
createCompatibleVolatileImage(int width, int height, ImageCapabilities caps, int transparency) |
指定されたイメージ機能と透明度の値を使用して、この
GraphicsConfigurationと互換性のあるデータ・レイアウトとカラー・モデルを持つVolatileImageを返します。 |
VolatileImage |
createCompatibleVolatileImage(int width, int height, int transparency) |
この
GraphicsConfigurationと互換性のあるデータ・レイアウトとカラー・モデルを持つVolatileImageを返します。 |
abstract Rectangle |
getBounds() |
デバイス座標内の
GraphicsConfigurationの境界を返します。 |
BufferCapabilities |
getBufferCapabilities() |
この
GraphicsConfigurationのバッファリング機能を返します。 |
abstract ColorModel |
getColorModel() |
この
GraphicsConfigurationに関連付けられたColorModelを返します。 |
abstract ColorModel |
getColorModel(int transparency) |
指定された透明度をサポートする、この
GraphicsConfigurationに関連付けられたColorModelを返します。 |
abstract AffineTransform |
getDefaultTransform() |
この
GraphicsConfigurationのデフォルトのAffineTransformを返します。 |
abstract GraphicsDevice |
getDevice() |
この
GraphicsConfigurationに関連付けられたGraphicsDeviceを返します。 |
ImageCapabilities |
getImageCapabilities() |
この
GraphicsConfigurationのイメージ機能を返します。 |
abstract AffineTransform |
getNormalizingTransform() |
ユーザー空間内の72単位がデバイス空間内の1インチに等しくなるように、
GraphicsConfigurationのデフォルトのAffineTransformに連結できるAffineTransformを返します。 |
boolean |
isTranslucencyCapable() |
この
GraphicsConfigurationが半透明性の種類PERPIXEL_TRANSLUCENTをサポートしているかどうかを返します。 |
protected GraphicsConfiguration()
public abstract GraphicsDevice getDevice()
GraphicsConfigurationに関連付けられたGraphicsDeviceを返します。GraphicsConfigurationに関連付けられたGraphicsDeviceオブジェクト。public BufferedImage createCompatibleImage(int width, int height)
GraphicsConfigurationと互換性のあるデータ・レイアウトとカラー・モデルを持つBufferedImageを返します。 このメソッドは、デバイスをメモリー・マッピングすることとは無関係です。 返されたBufferedImageは、このネイティブなデバイス構成にもっとも近いレイアウトとカラー・モデルを持っているため、このデバイスに最適にブリットできます。 width - 返されたBufferedImageの幅height - 返されたBufferedImageの高さGraphicsConfigurationと互換性のあるBufferedImage。public BufferedImage createCompatibleImage(int width, int height, int transparency)
GraphicsConfigurationと互換性のあるデータ・レイアウトとカラー・モデルを持つBufferedImageを返します。 このメソッドは、デバイスをメモリー・マッピングすることとは無関係です。 返されるBufferedImageは、このGraphicsConfigurationを持つデバイスに最適にブリットできるレイアウトおよびカラー・モデルを持ちます。 width - 返されたBufferedImageの幅height - 返されたBufferedImageの高さtransparency - 指定された透明度モードGraphicsConfigurationと互換性があり、指定された透明度をサポートするBufferedImage。IllegalArgumentException - 透明度が有効な値でない場合Transparency.OPAQUE, Transparency.BITMASK, Transparency.TRANSLUCENTpublic VolatileImage createCompatibleVolatileImage(int width, int height)
GraphicsConfigurationと互換性のあるデータ・レイアウトとカラー・モデルを持つVolatileImageを返します。 返されたVolatileImageには、基本となるグラフィックス・デバイスのために最適に格納されたデータが含まれている可能性があるため、プラットフォーム固有の描画の高速化の利点が得られる可能性があります。 width - 返されたVolatileImageの幅height - 返されたVolatileImageの高さGraphicsConfigurationと互換性のあるVolatileImage。Component.createVolatileImage(int, int)public VolatileImage createCompatibleVolatileImage(int width, int height, int transparency)
GraphicsConfigurationと互換性のあるデータ・レイアウトとカラー・モデルを持つVolatileImageを返します。 返されたVolatileImageには、基本となるグラフィックス・デバイスのために最適に格納されたデータが含まれている可能性があるため、プラットフォーム固有の描画の高速化の利点が得られる可能性があります。 width - 返されたVolatileImageの幅height - 返されたVolatileImageの高さtransparency - 指定された透明度モードGraphicsConfigurationと互換性のあるVolatileImage。IllegalArgumentException - 透明度が有効な値でない場合Transparency.OPAQUE, Transparency.BITMASK, Transparency.TRANSLUCENT, Component.createVolatileImage(int, int)public VolatileImage createCompatibleVolatileImage(int width, int height, ImageCapabilities caps) throws AWTException
GraphicsConfigurationと互換性のあるデータ・レイアウトとカラー・モデルを持つVolatileImageを返します。 capsパラメータがnullである場合は、このパラメータが事実上無視され、このメソッドはImageCapabilities制約には関係なくVolatileImageを作成します。 返されたVolatileImageは、このネイティブなデバイス構成にもっとも近いレイアウトとカラー・モデルを持っているため、このデバイスに最適にブリットできます。 width - 返されたVolatileImageの幅height - 返されたVolatileImageの高さcaps - イメージ機能GraphicsConfigurationと互換性のあるVolatileImage。AWTException - 指定されたイメージ機能をこのグラフィックス構成が満足できなかった場合public VolatileImage createCompatibleVolatileImage(int width, int height, ImageCapabilities caps, int transparency) throws AWTException
GraphicsConfigurationと互換性のあるデータ・レイアウトとカラー・モデルを持つVolatileImageを返します。 capsパラメータがnullである場合は、このパラメータが事実上無視され、このメソッドはImageCapabilities制約には関係なくVolatileImageを作成します。 返されたVolatileImageは、このネイティブなデバイス構成にもっとも近いレイアウトとカラー・モデルを持っているため、このデバイスに最適にブリットできます。 width - 返されたVolatileImageの幅height - 返されたVolatileImageの高さcaps - イメージ機能transparency - 指定された透明度モードGraphicsConfigurationと互換性のあるVolatileImage。IllegalArgumentException - 透明度が有効な値でない場合AWTException - 指定されたイメージ機能をこのグラフィックス構成が満足できなかった場合Transparency.OPAQUE, Transparency.BITMASK, Transparency.TRANSLUCENT, Component.createVolatileImage(int, int)public abstract ColorModel getColorModel()
GraphicsConfigurationに関連付けられたColorModelを返します。GraphicsConfigurationに関連付けられたColorModelオブジェクト。public abstract ColorModel getColorModel(int transparency)
GraphicsConfigurationに関連付けられたColorModelを返します。transparency - 指定された透明度モードGraphicsConfigurationに関連し、指定された透明度をサポートするColorModelオブジェクト。透明度が有効な値でない場合はnull。Transparency.OPAQUE, Transparency.BITMASK, Transparency.TRANSLUCENTpublic abstract AffineTransform getDefaultTransform()
GraphicsConfigurationのデフォルトのAffineTransformを返します。 このAffineTransformは通常、ほとんどの標準画面では恒等変換になります。 デフォルトのAffineTransformは、72ユーザー空間座標単位がデバイス空間のおよそ1インチに対応するようにデバイスに座標をマッピングします。 正規化変換を使用すると、このマッピングをより正確にすることができます。 画面デバイスとプリンタ・デバイスのデフォルトのAffineTransformで定義されている座標空間の座標は、デバイスのターゲット領域の左上隅に原点を持ち、X座標は右方向に、Y座標は下方向に値が増加します。 createCompatibleImageで作成されない、デバイスに関連していないイメージ・バッファなどでは、このAffineTransformは恒等変換になります。 GraphicsConfigurationのデフォルトのAffineTransform。public abstract AffineTransform getNormalizingTransform()
GraphicsConfigurationのデフォルトのAffineTransformに連結できるAffineTransformを返します。
gという特定のGraphics2Dでは、次の擬似コードを使って変換をリセットし、このようなマッピングを作成できます。
GraphicsConfiguration gc = g.getDeviceConfiguration();
g.setTransform(gc.getDefaultTransform());
g.transform(gc.getNormalizingTransform());
ただし、このAffineTransformは場合によって、たとえばプリンタ出力やメタファイル出力の場合に恒等変換になり、このAffineTransformの正確さは元にあるシステムによって指定される情報と同じ程度になります。 createCompatibleImageで作成されない、デバイスに関連していないイメージ・バッファなどでは、有効な距離測定法がないため、このAffineTransformは恒等変換になります。 AffineTransformに連結するAffineTransform。public abstract Rectangle getBounds()
GraphicsConfigurationの境界を返します。 仮想デバイスを持つマルチスクリーン環境では、境界は負のXまたはYの原点を持つことができます。 GraphicsConfigurationによってカバーされる領域境界。public BufferCapabilities getBufferCapabilities()
GraphicsConfigurationのバッファリング機能を返します。public ImageCapabilities getImageCapabilities()
GraphicsConfigurationのイメージ機能を返します。public boolean isTranslucencyCapable()
GraphicsConfigurationが半透明性の種類PERPIXEL_TRANSLUCENTをサポートしているかどうかを返します。Window.setBackground(Color) バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。