public abstract class ResolutionSyntax extends Object implements Serializable, Cloneable
解像度属性の値は、前後送り方向の解像度と送り方向の解像度の2項目から構成されます。解像度属性は、この2つの値を提供し、値を測る単位を指定することにより構築されます。メソッドは、解像度属性の値を返すように提供され、値が返される単位が示されます。もっとも一般的な2種類の解像度の単位は、1インチあたりのドット数(dpi)と1センチ当たりのドット数(dpcm)で、エクスポートされる定数DPI
とDPCM
はこれらの単位を示すために提供されます。
解像度属性は、いったん構築されると変更できません。
設計
解像度属性の前後送り方向の解像度と送り方向の解像度の値は、100インチ当たりドット数(dphi)単位を使用して内部に格納されます。いわゆるメートル法単位ではなくdphi単位の値を格納することにより、1 dpi = 100 dphi、1 dpcm = 254 dphiなどdpiとdphiとの間、およびdpcmとdphiとの間の整数型の正確な算術変換が可能になります。この結果、値がどの単位でも正確さを失うことなく解像度属性に格納され、取り出せます。浮動小数点の表現が使用される場合、これは保証されません。ただし、解像度属性の値がある単位で作成され、別の単位で取り出された場合、通常四捨五入の誤差が発生します。たとえば、600 dpiは5桁の真の値は236.22 dpcmなのに236 dpcmに四捨五入されます。
dphiを共通の単位として値を内部に格納することにより、作成された単位にかかわらず2つの解像度属性が比較できます。たとえば、両方とも76200 dphiとして格納されているため、300 dpcmは762 dpiと等しいことが比較によりわかります。特に、検索サービスは、作成された単位にかかわらず、直列化表現が等しいかどうかに基づいて解像度属性を照合できます。このように、内部ストレージに整数型を使用することにより、正確な同等性の比較が可能になります。ただし、これは浮動小数点表現が使用される場合は保証されません。
エクスポートされる定数DPI
は、実際にdpi単位の値に乗算して、dphi単位の値を取得する変換係数です。同様に、エクスポートされる定数DPCM
は、dpcm単位の値に乗算してdphi単位の値を取得する変換係数です。クライアントは、クライアント自身の変換係数を提供してdpiまたはdpcm以外の単位で解像度属性を指定できます。ただし、内部単位dphiは、外部単位dpiとdpcmだけを考慮してサポートするよう選択されているので、クライアントの単位の変換係数が正確な整数型となるかどうか保証されません。変換係数が正確な整数型ではない場合、クライアントの単位の解像度の値は正確に格納されません。
修飾子と型 | フィールドと説明 |
---|---|
static int |
DPCM
1センチあたりドット数(dpcm)を示す値です。
|
static int |
DPI
1インチあたりドット数(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)
指定された単位で解像度属性の文字列バージョンを返します。
|
public static final int DPI
public static final int DPCM
public ResolutionSyntax(int crossFeedResolution, int feedResolution, int units)
crossFeedResolution
- 前後送り方向の解像度。feedResolution
- 送り方向の解像度。units
- 単位変換係数。DPI
やDPCM
など。IllegalArgumentException
- 非チェック例外。crossFeedResolution < 1
またはfeedResolution < 1
またはunits < 1
の場合にスローされる。public int[] getResolution(int units)
units
- 単位変換係数。DPI
やDPCM
など。IllegalArgumentException
- 非チェック例外。units < 1
の場合にスローされる。public int getCrossFeedResolution(int units)
units
- 単位変換係数。DPI
やDPCM
など。IllegalArgumentException
- 非チェック例外。units < 1
の場合にスローされる。public int getFeedResolution(int units)
units
- 単位変換係数。DPI
やDPCM
など。IllegalArgumentException
- 非チェック例外。units < 1
の場合にスローされる。public String toString(int units, String unitsName)
"CxF U"
の形式をとります。ここで、Cは前後送り方向の解像度、Fは送り方向の解像度、Uは単位名です。値はもっとも近い整数値に四捨五入されます。units
- 単位変換係数。DPI
やDPCM
など。unitsName
- 単位名の文字列。"dpi"
や"dpcm"
など。nullの場合、結果に単位名は付けられない。IllegalArgumentException
- 非チェック例外。units < 1
の場合にスローされる。public boolean lessThanOrEquals(ResolutionSyntax other)
other
属性の前後送り方向の解像度より小さいか、または等しい。
other
属性の送り方向の解像度より小さいか、または等しい。
other
- 比較対象の解像度属性。other
解像度属性より小さいか、または等しい場合はtrue、そうでない場合はfalse。NullPointerException
- 非チェック例外。other
がnullの場合にスローされる。public boolean equals(Object object)
object
がnullではない。
object
がResolutionSyntaxクラスのインスタンスである。
object
の前後送り方向の解像度に等しい。
object
の送り方向の解像度に等しい。
equals
、クラス: Object
object
- 比較対象のオブジェクト。object
がこの解像度属性と等しい場合はtrue、そうでない場合はfalse。Object.hashCode()
, HashMap
public int hashCode()
hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public String toString()
"CxF dphi"
の形式をとります。ここで、Cは前後送り方向の解像度、Fは送り方向の解像度です。値は内部単位dphiで報告されます。protected int getCrossFeedResolutionDphi()
protected int getFeedResolutionDphi()
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.