|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.print.attribute
类 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 为单位的值乘以转换因子可以获得以 dphi 为单位的值。同样,导出的常量 DPI
实际上是转换因子,将一个以 dpcm 为单位的值乘以转换因子可以获得以 dphi 为单位的值。客户机可以通过提供其自已的转换因子指定使用某些单位( dpi 或 dpcm 除外)的分辨率值。但是,由于只注意支持外部单位 dpi 和 dpcm 而选择了内部单位 dphi,所以不能保证对客户机单位的转换因子将是一个准确的整数。如果转换因子不是一个准确的整数,则使用客户机单位的分辨率值不能精确地存储。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
- 单位转换因子,即
或DPI
。DPCM
-
unitsName
- 单位名称字符串,即"dpi"
或"dpcm"
。如果为 null,则没有任何单位名称附加到该结果。 - 返回:
- 此分辨率属性的字符串版本。
- 抛出:
-
IllegalArgumentException
- (未经检查的异常)如果units
< 1,则抛出该异常。
lessThanOrEquals
public boolean lessThanOrEquals(ResolutionSyntax other)
-
确定此分辨率属性的值是否小于或等于给定分辨率属性的值。如果以下条件都为 true,则为 true:
- 此属性的反向进纸分辨率小于或等于
other
属性的反向进纸分辨率。 - 此属性的进纸分辨率小于或等于
other
属性的进纸分辨率。
- 此属性的反向进纸分辨率小于或等于
-
-
- 参数:
-
other
- 与之比较的分辨率属性。 - 返回:
-
如果此分辨率属性小于或等于
other
分辨率属性,则返回 True,否则返回 false。 - 抛出:
-
NullPointerException
- (未经检查的异常)如果other
为 null,则抛出该异常。
equals
public boolean equals(Object object)
-
返回此分辨率属性是否等于传入的对象。若要相等,以下所有条件都必须为 true:
object
不为 null。object
是类 ResolutionSyntax 的一个实例。- 此属性的反向进纸分辨率等于
object
的反向进纸分辨率。 - 此属性的进纸分辨率等于
object
的进纸分辨率。
-
- 参数:
-
object
- 要比较的对象。 - 返回:
-
如果
object
等于此分辨率属性,则返回 True,否则返回 false。 - 另请参见:
-
Object.hashCode()
,Hashtable