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 単位の値に乗算して、dphi 単位の値を取得する変換係数です。同様に、エクスポートされる定数 DPI
は、dpcm 単位の値に乗算して dphi 単位の値を取得する変換係数です。クライアントは、クライアント自身の変換係数を提供して dpi または dpcm 以外の単位で解像度属性を指定できます。ただし、内部単位 dphi は、外部単位 dpi と dpcm だけを考慮してサポートするよう選択されているので、クライアントの単位の変換係数が正確な整数型となるかどうか保証されません。変換係数が正確な整数型ではない場合、クライアントの単位の解像度の値は正確に格納されません。
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, 2013, Oracle and/or its affiliates. All rights reserved.