Класс ResolutionSyntax
- Все реализованные интерфейсы:
-
Serializable,Cloneable
- Прямые известные подклассы:
PrinterResolution
public abstract class ResolutionSyntax extends Object implements Serializable, Cloneable
ResolutionSyntax — это абстрактный базовый класс, предоставляющий общее реализацию всех атрибутов, обозначающих разрешение принтера. Значение атрибута разрешения состоит из двух элементов: разрешение в направлении поперечного смещения и разрешение в направлении подачи. Атрибут разрешения можно создать, указав эти два значения и указать единицы, в которых они измеряются. Предоставляются методы для возвращения значений атрибута разрешения, указывающие единицы, в которых должны быть возвращены значения. Две наиболее распространенные единицы измерения разрешения — точки на дюйм (dpi) и точки на сантиметр (dpcm), и экспортированные константы DPI и DPCM предоставлены для указания этих единиц.
После создания значение атрибута разрешения является неизменяемым.
Архитектура
Значения разрешения атрибута разрешения в направлении поперечного смещения и в направлении подачи хранятся во внутренней памяти в единицах точек на 100 дюймов (dphi). Хранение значений в dphi вместо, скажем, метрических единиц позволяет проводить точные целые арифметические преобразования между dpi и dphi, и между dpcm и dphi: 1 dpi = 100 dphi, 1 dpcm = 254 dphi. Таким образом, значения можно сохранить в атрибуте разрешения и извлечь обратно в любых единицах без потери точности. Это не гарантировалось бы, если бы использовалась плавающая точка. Однако, в общем случае, ошибка округления произойдет, если значения атрибута разрешения созданы в одних единицах, а извлечены в других; например, 600 dpi будет округлено до 236 dpcm, в то время как истинное значение (с пятью знаками) составляет 236,22 dpcm.
Хранение значений во внутренней памяти в общих единицах dphi позволяет сравнивать два атрибута разрешения без учета единиц, в которых они были созданы; например, 300 dpcm будет равно 762 dpi, так как оба значения хранятся как 76200 dphi. В частности, служба поиска может сопоставить атрибуты разрешения на основе равенства их сериализованных представлений независимо от единиц, в которых они были созданы. Снова, использование целых чисел для хранения во внутренней памяти позволяет выполнять точные сравнения на равенство, которые не были бы гарантированы при использовании представления с плавающей точкой.
Экспортированная константа DPI фактически является коэффициентом преобразования, с помощью которого нужно умножить значение в dpi, чтобы получить значение в dphi. Точно так же, экспортированная константа DPCM является коэффициентом преобразования, с помощью которого нужно умножить значение в dpcm, чтобы получить значение в dphi. Клиент может указать значение разрешения в единицах, отличных от dpi или dpcm, указав собственный коэффициент преобразования. Однако, поскольку внутренние единицы dphi были выбраны, принимая во внимание только внешние единицы dpi и dpcm, нет гарантии, что коэффициент преобразования для единиц клиента будет точным целым числом. Если коэффициент преобразования не является целым числом, значения разрешения в единицах клиента не будут храниться точно.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
DPCM |
Значение для обозначения единиц точек на сантиметр (dpcm). |
static final int |
DPI |
Значение для обозначения единиц точек на дюйм (dpi). |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ResolutionSyntax |
Создает новый атрибут разрешения из заданных элементов. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Возвращает, эквивалентен ли этот атрибут разрешения переданному объекту. |
int |
getCrossFeedResolution |
Возвращает разрешение атрибута разрешения в направлении поперечного смещения в заданных единицах. |
protected int |
getCrossFeedResolutionDphi() |
Возвращает разрешение атрибута разрешения в направлении поперечного смещения в единицах dphi. |
int |
getFeedResolution |
Возвращает разрешение атрибута разрешения в направлении подачи в заданных единицах. |
protected int |
getFeedResolutionDphi() |
Возвращает разрешение атрибута разрешения в направлении подачи в единицах dphi. |
int[] |
getResolution |
Получает значения разрешения этого атрибута разрешения в заданных единицах. |
int |
hashCode() |
Возвращает значение хэш-кода для этого атрибута разрешения. |
boolean |
lessThanOrEquals |
Определяет, меньше ли или равно значение этого атрибута разрешения значению данного атрибута разрешения. |
String |
toString() |
Возвращает строковое представление этого атрибута разрешения. |
String |
toString |
Возвращает строковое представление этого атрибута разрешения в заданных единицах. |
Подробное описание полей
DPI
public static final int DPI
- См. также:
DPCM
public static final int DPCM
- См. также:
Подробное описание конструкторов
ResolutionSyntax
public ResolutionSyntax(int crossFeedResolution, int feedResolution, int units)
- Параметры:
-
crossFeedResolution- разрешение по направлению поперечного перемещения -
feedResolution- разрешение по направлению подачи -
units- коэффициент преобразования единиц, например,DPIилиDPCM - Исключения:
-
IllegalArgumentException- еслиcrossFeedResolution < 1илиfeedResolution < 1илиunits < 1
Подробное описание методов
getResolution
public int[] getResolution(int units)
- Параметры:
-
units- коэффициент преобразования единиц, например,DPIилиDPCM - Возвращает:
- двухэлементный массив, содержащий разрешение по направлению поперечного перемещения в индексе 0 и разрешение по направлению подачи в индексе 1
- Исключения:
-
IllegalArgumentException- еслиunits < 1
getCrossFeedResolution
public int getCrossFeedResolution(int units)
- Параметры:
-
units- коэффициент преобразования единиц, например,DPIилиDPCM - Возвращает:
- разрешение по направлению поперечного перемещения
- Исключения:
-
IllegalArgumentException- еслиunits < 1
getFeedResolution
public int getFeedResolution(int units)
- Параметры:
-
units- коэффициент преобразования единиц, например,DPIилиDPCM - Возвращает:
- разрешение по направлению подачи
- Исключения:
-
IllegalArgumentException- еслиunits < 1
toString
public String toString(int units, String unitsName)
"CxF U", где C — разрешение по направлению поперечного перемещения, F — разрешение по направлению подачи, а U — имя единиц. Значения округляются до ближайшего целого.- Параметры:
-
units- коэффициент преобразования единиц, например,CODE>DPIилиDPCM -
unitsName- строка имени единиц, например,"dpi"или"dpcm". Еслиnull, имя единиц к результату не добавляется. - Возвращает:
- строковое представление атрибута разрешения
- Исключения:
-
IllegalArgumentException- еслиunits < 1
lessThanOrEquals
public boolean lessThanOrEquals(ResolutionSyntax other)
- Разрешение по направлению поперечного перемещения текущего атрибута меньше или равно разрешению по направлению поперечного перемещения атрибута
other. - Разрешение по направлению подачи текущего атрибута меньше или равно разрешению по направлению подачи атрибута
other.
- Параметры:
-
other- атрибут разрешения для сравнения - Возвращает:
-
true, если текущий атрибут разрешения меньше или равен атрибуту разрешенияother,falseв противном случае - Исключения:
-
NullPointerException- еслиotherявляетсяnull
equals
public boolean equals(Object object)
-
objectне являетсяnull. -
objectявляется экземпляром классаResolutionSyntax. - Разрешение по направлению поперечного перемещения текущего атрибута равно разрешению по направлению поперечного перемещения
object. - Разрешение по направлению подачи текущего атрибута равно разрешению по направлению подачи
object.
hashCode
toString
public String toString()
"CxF dphi", где C — разрешение по направлению поперечного перемещения, а F — разрешение по направлению подачи. Значения представлены во внутренних единицах dphi.getCrossFeedResolutionDphi
protected int getCrossFeedResolutionDphi()
- Возвращает:
- разрешение по направлению поперечного перемещения
getFeedResolutionDphi
protected int getFeedResolutionDphi()
- Возвращает:
- разрешение по направлению подачи
© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/print/attribute/ResolutionSyntax.html