Класс GraphicsConfiguration
- java.lang.Object
-
- java.awt.GraphicsConfiguration
public abstract class GraphicsConfiguration extends Object
Класс GraphicsConfiguration описывает характеристики графического устройства, например, принтера или монитора. Может быть несколько объектов GraphicsConfiguration для одного графического устройства, представляющих различные режимы или возможности рисования. Соответствующая структура в родном коде зависит от платформы. Например, в X11 системах окон каждое визуальное представление — это разный GraphicsConfiguration. В Microsoft Windows объекты GraphicsConfiguration представляют доступные форматы пикселей при текущем разрешении и глубине цвета.
В многоэкранной виртуальной среде, где область рабочего стола может занимать несколько физических экранов, границы объектов 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());
}
}
- См. также:
-
Window,Frame,GraphicsEnvironment,GraphicsDevice
Конструкторы
| Модификатор | Конструктор и описание |
|---|---|
protected |
GraphicsConfiguration() Это абстрактный класс, который нельзя создать напрямую. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
BufferedImage |
createCompatibleImage(int width,
int height) Возвращает |
BufferedImage |
createCompatibleImage(int width,
int height,
int transparency) Возвращает |
VolatileImage |
createCompatibleVolatileImage(int width,
int height) Возвращает |
VolatileImage |
createCompatibleVolatileImage(int width,
int height,
ImageCapabilities caps) Возвращает |
VolatileImage |
createCompatibleVolatileImage(int width,
int height,
ImageCapabilities caps,
int transparency) Возвращает |
VolatileImage |
createCompatibleVolatileImage(int width,
int height,
int transparency) Возвращает |
abstract Rectangle |
getBounds() Возвращает границы |
BufferCapabilities |
getBufferCapabilities() Возвращает возможности буферизации этого |
abstract ColorModel |
getColorModel() Возвращает |
abstract ColorModel |
getColorModel(int transparency) Возвращает |
abstract AffineTransform |
getDefaultTransform() Возвращает значение по умолчанию |
abstract GraphicsDevice |
getDevice() Возвращает |
ImageCapabilities |
getImageCapabilities() Возвращает возможности изображений этого |
abstract AffineTransform |
getNormalizingTransform() Возвращает |
boolean |
isTranslucencyCapable() Возвращает, поддерживает ли этот |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
GraphicsConfiguration
protected GraphicsConfiguration()
Это абстрактный класс, который нельзя создать напрямую. Экземпляры должны быть получены из подходящего фабричного метода или запроса.
- См. также:
-
GraphicsDevice.getConfigurations(),GraphicsDevice.getDefaultConfiguration(),GraphicsDevice.getBestConfiguration(java.awt.GraphicsConfigTemplate),Graphics2D.getDeviceConfiguration()
Методы
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- если режим прозрачности не является допустимым значением - См. также:
-
Transparency.OPAQUE,Transparency.BITMASK,Transparency.TRANSLUCENT
createCompatibleVolatileImage
public VolatileImage createCompatibleVolatileImage(int width,
int height) Возвращает VolatileImage с макетом данных и цветовой моделью, совместимыми с этим GraphicsConfiguration. Возвращённый VolatileImage может иметь данные, оптимально хранящиеся для базового графического устройства, и поэтому может воспользоваться ускоренным рендерингом, специфичным для платформы.
- Параметры:
-
width- ширина возвращённогоVolatileImage -
height- высота возвращённогоVolatileImage - Возвращает:
VolatileImageс макетом данных и цветовой моделью, совместимыми с этимGraphicsConfiguration.- С:
- 1.4
- См. также:
Component.createVolatileImage(int, int)
createCompatibleVolatileImage
public VolatileImage createCompatibleVolatileImage(int width,
int height,
int transparency) Возвращает VolatileImage с макетом данных и цветовой моделью, совместимыми с этим GraphicsConfiguration. Возвращённый VolatileImage может иметь данные, оптимально хранящиеся для базового графического устройства, и поэтому может воспользоваться ускоренным рендерингом, специфичным для платформы.
- Параметры:
-
width- ширина возвращённогоVolatileImage -
height- высота возвращённогоVolatileImage -
transparency- указанный режим прозрачности - Возвращает:
VolatileImageс макетом данных и цветовой моделью, совместимыми с этимGraphicsConfiguration.- Исключения:
-
IllegalArgumentException- если режим прозрачности не является допустимым значением - С:
- 1.5
- См. также:
-
Transparency.OPAQUE,Transparency.BITMASK,Transparency.TRANSLUCENT,Component.createVolatileImage(int, int)
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
- См. также:
-
Transparency.OPAQUE,Transparency.BITMASK,Transparency.TRANSLUCENT,Component.createVolatileImage(int, int)
getColorModel
public abstract ColorModel getColorModel()
Возвращает ColorModel, связанный с этим GraphicsConfiguration.
- Возвращает:
- объект
ColorModel, связанный с этимGraphicsConfiguration.
getColorModel
public abstract ColorModel getColorModel(int transparency)
Возвращает ColorModel , связанный с этим GraphicsConfiguration , поддерживающий указанный режим прозрачности.
- Параметры:
-
transparency- указанный режим прозрачности - Возвращает:
- объект
ColorModel, связанный с этимGraphicsConfigurationи поддерживающий указанную прозрачность, или null, если режим прозрачности не является допустимым значением. - См. также:
-
Transparency.OPAQUE,Transparency.BITMASK,Transparency.TRANSLUCENT
getDefaultTransform
public abstract AffineTransform getDefaultTransform()
Возвращает стандартное AffineTransform для этого GraphicsConfiguration. Этот AffineTransform обычно представляет собой трансформацию тождества для большинства обычных экранов. Стандартная AffineTransform сопоставляет координаты на устройстве таким образом, что 72 единицы пользовательского пространства приблизительно соответствуют 1 дюйму в пространстве устройства. Стандартная AffineTransform может быть использована для более точного определения этого отображения. Координаты в пространстве координат, определённом стандартной 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
- См. также:
Window.setBackground(Color)
© 1993, 2020, 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.