Класс ResolutionSyntax
- java.lang.Object
-
- javax.print.attribute.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 int | DPCM | Значение для указания единиц точек на сантиметр (dpcm). |
static int | DPI | Значение для указания единиц точек на дюйм (dpi). |
Конструкторы
| Конструктор | Описание |
|---|---|
ResolutionSyntax(int crossFeedResolution,
int feedResolution,
int units) | Создает новый атрибут разрешения из заданных элементов. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean | equals(Object object) | Возвращает, эквивалентен ли этот атрибут разрешения переданному объекту. |
int | getCrossFeedResolution(int units) | Возвращает разрешение атрибута разрешения по направлению поперечной подачи в заданных единицах. |
protected int | getCrossFeedResolutionDphi() | Возвращает разрешение атрибута разрешения по направлению поперечной подачи в единицах dphi. |
int | getFeedResolution(int units) | Возвращает разрешение атрибута разрешения по направлению подачи в заданных единицах. |
protected int | getFeedResolutionDphi() | Возвращает разрешение атрибута разрешения по направлению подачи в единицах dphi. |
int[] | getResolution(int units) | Получить значения разрешения этого атрибута разрешения в заданных единицах. |
int | hashCode() | Возвращает хэш-код для этого атрибута разрешения. |
boolean | lessThanOrEquals(ResolutionSyntax other) | Определяет, меньше ли или равно значение этого атрибута разрешения заданному значению атрибута разрешения. |
String | toString() | Возвращает строковое представление этого атрибута разрешения. |
String | toString(int units,
String unitsName) | Возвращает строковое представление этого атрибута разрешения в заданных единицах. |
Методы, объявленные в классе java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Поля
DPI
public static final int DPI
Значение для указания единиц точек на дюйм (dpi). На самом деле это коэффициент преобразования, на который необходимо умножить dpi для получения dphi (100).
- См. также:
- Значения константных полей
DPCM
public static final int DPCM
Значение для указания единиц точек на сантиметр (dpcm). На самом деле это коэффициент преобразования, на который необходимо умножить dpcm для получения dphi (254).
- См. также:
- Значения константных полей
Конструкторы
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в противном случае - См. также:
-
Object.hashCode(),HashMap
hashCode
public int hashCode()
Возвращает значение хэш-кода для этого атрибута разрешения.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение хэш-кода для этого объекта.
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
toString
public String toString()
Возвращает строковое представление этого атрибута разрешения. Строка имеет вид "CxF dphi", где C — разрешение по направлению поперечного перемещения, а F — разрешение по направлению движения. Значения сообщаются во внутренних единицах dphi.
getCrossFeedResolutionDphi
protected int getCrossFeedResolutionDphi()
Возвращает разрешение атрибута разрешения по направлению поперечного перемещения в единицах dphi. (Для использования в подклассе.)
- Возвращает:
- разрешение по направлению поперечного перемещения
getFeedResolutionDphi
protected int getFeedResolutionDphi()
Возвращает разрешение атрибута разрешения по направлению движения в единицах dphi. (Для использования в подклассе.)
- Возвращает:
- разрешение по направлению движения
© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/print/attribute/ResolutionSyntax.html