Класс 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.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
object-Objectдля сравнения - Возвращает:
-
trueеслиobjectэквивалентен этому атрибуту разрешения,falseв противном случае - См. также:
hashCode
public int hashCode()
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение кода хэша для этого объекта.
- См. также:
toString
public String toString()
"CxF dphi", где C — разрешение в направлении поперечного перемещения, а F — разрешение в направлении подачи. Значения сообщаются во внутренних единицах dphi.- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление объекта.
getCrossFeedResolutionDphi
protected int getCrossFeedResolutionDphi()
- Возвращает:
- разрешение в направлении поперечного перемещения
getFeedResolutionDphi
protected int getFeedResolutionDphi()
- Возвращает:
- разрешение в направлении подачи
© 1993, 2023, 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/21/docs/api/java.desktop/javax/print/attribute/ResolutionSyntax.html