Класс GraphicsConfiguration
public abstract class GraphicsConfiguration extends Object
GraphicsConfiguration описывает характеристики графического устройства вывода, например принтера или монитора. С одним графическим устройством может быть связано несколько объектов 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); Чтобы определить, работает ли ваша среда с виртуальным устройством, вызовите getBounds для всех объектов GraphicsConfiguration в системе. Если начало координат хотя бы одних из возвращённых границ не равно (0, 0), ваша среда работает с виртуальным устройством.
Также можно использовать getBounds, чтобы определить границы виртуального устройства. Для этого сначала вызовите getBounds для всех объектов GraphicsConfiguration в системе. Затем вычислите объединение всех границ, возвращённых вызовами 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());
}
}
- См. также:
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Это абстрактный класс, который нельзя создать напрямую. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
BufferedImage |
createCompatibleImage |
Возвращает BufferedImage с совместимыми с этой GraphicsConfiguration структурой данных и цветовой моделью. |
BufferedImage |
createCompatibleImage |
Возвращает BufferedImage, поддерживающий заданную прозрачность и имеющий совместимые с этой GraphicsConfiguration структуру данных и цветовую модель. |
VolatileImage |
createCompatibleVolatileImage |
Возвращает VolatileImage с совместимыми с этой GraphicsConfiguration структурой данных и цветовой моделью. |
VolatileImage |
createCompatibleVolatileImage |
Возвращает VolatileImage с совместимыми с этой GraphicsConfiguration структурой данных и цветовой моделью. |
VolatileImage |
createCompatibleVolatileImage |
Возвращает VolatileImage с совместимыми с этой GraphicsConfiguration структурой данных и цветовой моделью, используя заданные возможности изображения. |
VolatileImage |
createCompatibleVolatileImage |
Возвращает VolatileImage с совместимыми с этой GraphicsConfiguration структурой данных и цветовой моделью, используя заданные возможности изображения и значение прозрачности. |
abstract Rectangle |
getBounds() |
Возвращает границы GraphicsConfiguration в координатах устройства. |
BufferCapabilities |
getBufferCapabilities() |
Возвращает возможности буферизации этой GraphicsConfiguration. |
abstract ColorModel |
getColorModel() |
Возвращает ColorModel, связанную с этой GraphicsConfiguration. |
abstract ColorModel |
getColorModel |
Возвращает ColorModel, связанную с этой GraphicsConfiguration и поддерживающую заданную прозрачность. |
abstract AffineTransform |
getDefaultTransform() |
Возвращает стандартное AffineTransform для этой GraphicsConfiguration. |
abstract GraphicsDevice |
getDevice() |
Возвращает GraphicsDevice, связанное с этой GraphicsConfiguration. |
ImageCapabilities |
getImageCapabilities() |
Возвращает возможности работы с изображениями этой GraphicsConfiguration. |
abstract AffineTransform |
getNormalizingTransform() |
Возвращает AffineTransform, которое можно объединить со стандартным AffineTransform объекта GraphicsConfiguration так, чтобы 72 единицы пользовательского пространства соответствовали 1 дюйму в пространстве устройства. |
boolean |
isTranslucencyCapable() |
Возвращает значение, указывающее, поддерживает ли эта GraphicsConfiguration тип полупрозрачности PERPIXEL_TRANSLUCENT. |
Подробное описание конструкторов
GraphicsConfiguration
protected GraphicsConfiguration()
- См. также:
Подробное описание методов
getDevice
public abstract GraphicsDevice getDevice()
GraphicsDevice, связанное с этой GraphicsConfiguration.- Возвращает:
- объект
GraphicsDevice, связанный с этойGraphicsConfiguration.
createCompatibleImage
public BufferedImage createCompatibleImage(int width, int height)
BufferedImage с совместимыми с этой GraphicsConfiguration структурой данных и цветовой моделью. Этот метод не связан с отображением устройства в память. Возвращаемый объект BufferedImage имеет структуру данных и цветовую модель, наиболее близкие к нативной конфигурации устройства, поэтому его можно оптимально копировать на это устройство.- Параметры:
-
width— ширина возвращаемого объектаBufferedImage -
height— высота возвращаемого объектаBufferedImage - Возвращает:
- объект
BufferedImageсо структурой данных и цветовой моделью, совместимыми с этойGraphicsConfiguration.
createCompatibleImage
public BufferedImage createCompatibleImage(int width, int height, int transparency)
BufferedImage, поддерживающий заданную прозрачность и имеющий совместимые с этой GraphicsConfiguration структуру данных и цветовую модель. Этот метод не связан с отображением устройства в память. Возвращаемый объект BufferedImage имеет структуру данных и цветовую модель, позволяющие оптимально копировать его на устройство с этой GraphicsConfiguration.- Параметры:
-
width— ширина возвращаемого объектаBufferedImage -
height— высота возвращаемого объектаBufferedImage -
transparency— заданный режим прозрачности - Возвращает:
- объект
BufferedImageсо структурой данных и цветовой моделью, совместимыми с этойGraphicsConfigurationи поддерживающими заданную прозрачность. - Исключения:
-
IllegalArgumentException— если значение прозрачности недопустимо - См. также:
createCompatibleVolatileImage
public VolatileImage createCompatibleVolatileImage(int width, int height)
VolatileImage с совместимыми с этой GraphicsConfiguration структурой данных и цветовой моделью. Возвращаемый объект VolatileImage может содержать данные, оптимально сохранённые для базового графического устройства, и поэтому может использовать ускорение визуализации, зависящее от платформы.- Параметры:
-
width— ширина возвращаемого объектаVolatileImage -
height— высота возвращаемого объектаVolatileImage - Возвращает:
- объект
VolatileImageсо структурой данных и цветовой моделью, совместимыми с этойGraphicsConfiguration. - С версии:
- 1.4
- См. также:
createCompatibleVolatileImage
public VolatileImage createCompatibleVolatileImage(int width, int height, int transparency)
VolatileImage с совместимыми с этой GraphicsConfiguration структурой данных и цветовой моделью. Возвращаемый объект VolatileImage может содержать данные, оптимально сохранённые для базового графического устройства, и поэтому может использовать ускорение визуализации, зависящее от платформы.- Параметры:
-
width— ширина возвращаемого объектаVolatileImage -
height— высота возвращаемого объектаVolatileImage -
transparency— заданный режим прозрачности - Возвращает:
- объект
VolatileImageсо структурой данных и цветовой моделью, совместимыми с этойGraphicsConfiguration. - Исключения:
-
IllegalArgumentException— если значение прозрачности недопустимо - С версии:
- 1.5
- См. также:
createCompatibleVolatileImage
public VolatileImage createCompatibleVolatileImage(int width, int height, ImageCapabilities caps) throws AWTException
VolatileImage с совместимыми с этой GraphicsConfiguration структурой данных и цветовой моделью, используя заданные возможности изображения. Если параметр caps равен null, он фактически игнорируется, и этот метод создаёт VolatileImage без учёта ограничений ImageCapabilities. Возвращаемый объект VolatileImage имеет структуру данных и цветовую модель, наиболее близкие к нативной конфигурации устройства, поэтому его можно оптимально копировать на это устройство.- Параметры:
-
width— ширина возвращаемого объектаVolatileImage -
height— высота возвращаемого объектаVolatileImage -
caps— возможности изображения - Возвращает:
- объект
VolatileImageсо структурой данных и цветовой моделью, совместимыми с этойGraphicsConfiguration. - Исключения:
-
AWTException— если эта графическая конфигурация не может удовлетворить заданным возможностям изображения - С версии:
- 1.4
createCompatibleVolatileImage
public VolatileImage createCompatibleVolatileImage(int width, int height, ImageCapabilities caps, int transparency) throws AWTException
VolatileImage с совместимыми с этой GraphicsConfiguration структурой данных и цветовой моделью, используя заданные возможности изображения и значение прозрачности. Если параметр caps равен null, он фактически игнорируется, и этот метод создаёт VolatileImage без учёта ограничений ImageCapabilities. Возвращаемый объект VolatileImage имеет структуру данных и цветовую модель, наиболее близкие к нативной конфигурации устройства, поэтому его можно оптимально копировать на это устройство.- Параметры:
-
width— ширина возвращаемого объектаVolatileImage -
height— высота возвращаемого объектаVolatileImage -
caps— возможности изображения -
transparency— заданный режим прозрачности - Возвращает:
- объект
VolatileImageсо структурой данных и цветовой моделью, совместимыми с этойGraphicsConfiguration. - Исключения:
-
IllegalArgumentException— если значение прозрачности недопустимо -
AWTException— если эта графическая конфигурация не может удовлетворить заданным возможностям изображения - С версии:
- 1.5
- См. также:
getColorModel
public abstract ColorModel getColorModel()
ColorModel, связанную с этой GraphicsConfiguration.- Возвращает:
- объект
ColorModel, связанный с этойGraphicsConfiguration.
getColorModel
public abstract ColorModel getColorModel(int transparency)
ColorModel, связанную с этой GraphicsConfiguration и поддерживающую заданную прозрачность.- Параметры:
-
transparency— заданный режим прозрачности - Возвращает:
- объект
ColorModel, связанный с этойGraphicsConfigurationи поддерживающий заданную прозрачность, либо null, если значение прозрачности недопустимо. - См. также:
getDefaultTransform
public abstract AffineTransform getDefaultTransform()
AffineTransform для этой GraphicsConfiguration. Для большинства обычных экранов это AffineTransform обычно является тождественным преобразованием. Стандартное AffineTransform сопоставляет координаты с устройством так, что 72 единицы координат пользовательского пространства приблизительно соответствуют 1 дюйму в пространстве устройства. Нормализующее преобразование можно использовать, чтобы сделать это сопоставление более точным. В системе координат, задаваемой стандартным AffineTransform для экранных и печатающих устройств, начало координат находится в левом верхнем углу целевой области устройства; координаты X увеличиваются вправо, а координаты Y — вниз. Для буферов изображений, не связанных с устройством, например созданных не с помощью createCompatibleImage, это AffineTransform является тождественным преобразованием.- Возвращает:
- стандартное
AffineTransformдля этойGraphicsConfiguration.
getNormalizingTransform
public abstract AffineTransform getNormalizingTransform()
AffineTransform, которое можно объединить со стандартным AffineTransform объекта GraphicsConfiguration так, чтобы 72 единицы пользовательского пространства соответствовали 1 дюйму в пространстве устройства. Для конкретного объекта Graphics2D g можно сбросить преобразование и создать такое сопоставление с помощью следующего псевдокода:
GraphicsConfiguration gc = g.getDeviceConfiguration();
g.setTransform(gc.getDefaultTransform());
g.transform(gc.getNormalizingTransform());
Обратите внимание, что иногда это AffineTransform является тождественным, например для принтеров или вывода в метафайл, и что точность этого AffineTransform ограничена точностью сведений, предоставляемых базовой системой. Для буферов изображений, не связанных с устройством, например созданных не с помощью createCompatibleImage, это AffineTransform является тождественным преобразованием, поскольку достоверное измерение расстояния невозможно.- Возвращает:
AffineTransformдля объединения со стандартнымAffineTransform, чтобы 72 единицы пользовательского пространства отображались в 1 дюйм пространства устройства.
getBounds
public abstract Rectangle getBounds()
GraphicsConfiguration в координатах устройства. В среде с несколькими экранами и виртуальным устройством начало координат границ по X или Y может быть отрицательным.- Возвращает:
- границы области, охватываемой этой
GraphicsConfiguration. - С версии:
- 1.3
getBufferCapabilities
public BufferCapabilities getBufferCapabilities()
GraphicsConfiguration.- Возвращает:
- возможности буферизации этого объекта графической конфигурации
- С версии:
- 1.4
getImageCapabilities
public ImageCapabilities getImageCapabilities()
GraphicsConfiguration.- Возвращает:
- возможности работы с изображениями этого объекта графической конфигурации
- С версии:
- 1.4
isTranslucencyCapable
public boolean isTranslucencyCapable()
GraphicsConfiguration тип полупрозрачности PERPIXEL_TRANSLUCENT.- Возвращает:
- значение, указывающее, поддерживает ли заданный GraphicsConfiguration эффекты полупрозрачности.
- С версии:
- 1.7
- См. также:
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/GraphicsConfiguration.html