Класс 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 |
Возвращает строковое представление этого атрибута разрешения в заданных единицах. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ждать пробуждения, обычно вследствие уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ждать пробуждения, обычно вследствие уведомления или прерывания, либо до истечения заданного периода реального времени. |
final void |
wait |
Заставляет текущий поток ждать пробуждения, обычно вследствие уведомления или прерывания, либо до истечения заданного периода реального времени. |
Подробное описание полей
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.