- 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的外部单元,因此不能保证客户单元的转换因子是精确整数。 如果转换因子不是精确整数,则客户端单元中的分辨率值将不会精确存储。- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 构造器 描述 ResolutionSyntax(int crossFeedResolution, int feedResolution, int units)
从给定项构造新的分辨率属性。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 boolean
equals(Object object)
返回此分辨率属性是否等效于传入的对象。int
getCrossFeedResolution(int units)
以给定单位返回此分辨率属性的交叉进纸方向分辨率。protected int
getCrossFeedResolutionDphi()
以dphi为单位返回此分辨率属性的交叉进给方向分辨率。int
getFeedResolution(int units)
以给定单位返回此分辨率属性的Feed方向分辨率。protected int
getFeedResolutionDphi()
以dphi为单位返回此分辨率属性的进纸方向分辨率。int[]
getResolution(int units)
以给定单位获取此分辨率属性的分辨率值。int
hashCode()
返回此分辨率属性的哈希码值。boolean
lessThanOrEquals(ResolutionSyntax other)
确定此分辨率属性的值是否小于或等于给定分辨率属性的值。String
toString()
返回此分辨率属性的字符串版本。String
toString(int units, String unitsName)
以给定单位返回此分辨率属性的字符串版本。
-
-
-
构造方法详细信息
-
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)
以给定单位返回此分辨率属性的Feed方向分辨率。 该值四舍五入为最接近的整数。- 参数
-
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)
确定此分辨率属性的值是否小于或等于给定分辨率属性的值。 如果满足以下所有条件,则为true:- 此属性的交叉进纸方向分辨率小于或等于
other
属性的交叉进纸方向分辨率。 - 此属性的Feed方向分辨率小于或等于
other
属性的Feed方向分辨率。
- 参数
-
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为单位返回此分辨率属性的进纸方向分辨率。 (用于子类。)- 结果
- 进给方向分辨率
-
-