Spec-Zone.ru › OpenJDK 25

Класс GraphicsConfiguration

java.lang.Object
java.awt.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());
         }
     } 
См. также:
  • Window
  • Frame
  • GraphicsEnvironment
  • GraphicsDevice

Краткое описание конструкторов

GraphicsConfiguration()
Модификатор Конструктор Описание
protected
Это абстрактный класс, который нельзя создать напрямую.

Краткое описание методов

Модификатор и тип Метод Описание
BufferedImage createCompatibleImage(int width, int height)
Возвращает BufferedImage с совместимыми с этой GraphicsConfiguration структурой данных и цветовой моделью.
BufferedImage createCompatibleImage(int width, int height, int transparency)
Возвращает BufferedImage, поддерживающий заданную прозрачность и имеющий совместимые с этой GraphicsConfiguration структуру данных и цветовую модель.
VolatileImage createCompatibleVolatileImage(int width, int height)
Возвращает VolatileImage с совместимыми с этой GraphicsConfiguration структурой данных и цветовой моделью.
VolatileImage createCompatibleVolatileImage(int width, int height, int transparency)
Возвращает VolatileImage с совместимыми с этой GraphicsConfiguration структурой данных и цветовой моделью.
VolatileImage createCompatibleVolatileImage(int width, int height, ImageCapabilities caps)
Возвращает VolatileImage с совместимыми с этой GraphicsConfiguration структурой данных и цветовой моделью, используя заданные возможности изображения.
VolatileImage createCompatibleVolatileImage(int width, int height, ImageCapabilities caps, int transparency)
Возвращает VolatileImage с совместимыми с этой GraphicsConfiguration структурой данных и цветовой моделью, используя заданные возможности изображения и значение прозрачности.
abstract Rectangle getBounds()
Возвращает границы GraphicsConfiguration в координатах устройства.
BufferCapabilities getBufferCapabilities()
Возвращает возможности буферизации этой GraphicsConfiguration.
abstract ColorModel getColorModel()
Возвращает ColorModel, связанную с этой GraphicsConfiguration.
abstract ColorModel getColorModel(int transparency)
Возвращает 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.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

GraphicsConfiguration

protected GraphicsConfiguration()
Это абстрактный класс, который нельзя создать напрямую. Экземпляры необходимо получать с помощью подходящего фабричного метода или метода запроса.
См. также:
  • GraphicsDevice.getConfigurations()
  • GraphicsDevice.getDefaultConfiguration()
  • GraphicsDevice.getBestConfiguration(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 для экранных и печатающих устройств, начало координат находится в левом верхнем углу целевой области устройства; координаты 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)

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, способы обхода проблем и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API