JavaTM Platform
Standard Ed. 6

java.awt
クラス RenderingHints

java.lang.Object
  上位を拡張 java.awt.RenderingHints
すべての実装されたインタフェース:
Cloneable, Map<Object,Object>

public class RenderingHints
extends Object
implements Map<Object,Object>, Cloneable

RenderingHints クラスは、キーと関連付けられた値のコレクションを定義および管理します。アプリケーションは、これらのコレクションを使用して、描画およびイメージ操作のサービスを実行するその他のクラスで使用されるアルゴリズムの選択についての情報を提供できます。Graphics2D クラス、および BufferedImageOpRasterOp を実装するクラスのすべてで、RenderingHints キーとそれに関連付けられた値を個別にまたはグループで取得するメソッドや、場合によってはそれらを設定するメソッドを提供します。これらの実装により描画またはイメージ操作の演算を実行するときは、呼び出し元が要求した RenderingHints の値を調べ、それに応じて使用されるアルゴリズムの能力が最高になるようにアルゴリズムを調整するようにしてください。  

これらのキーと値はヒントなので、ある特定の実装で、後述する可能なすべての選択肢をサポートしたり、そのアルゴリズムの選択肢を修正する要求に対応できるようにしたりする必要はありません。さまざまなヒントキーの値が相互に作用して、ある状況ではその特定のキーのすべてのバリアントがサポートされる一方で、ほかのキーと関連付けられた値が変更されると実装がより制限される場合もあります。たとえば一部の実装では、アンチエイリアスヒントがオフのときは数種類のディザリングを提供できますが、オンのときはディザリングをほとんど制御できません。サポートされるキーとヒントの完全なセットは、描画先によって異なる場合があります。これは、ランタイムでは画面や BufferedImage オブジェクトへの描画時、または印刷時に、さまざまな基本モジュールを使用することがあるためです。  

実装では、ヒントを完全に無視してもかまいませんが、要求にできるだけ近い実装アルゴリズムを使用するようにしてください。関連付けられたヒントキーに任意の値が使用されるときに特定のアルゴリズムが実装でサポートされる場合、そのヒントキーの値がそのアルゴリズムを指定する正確な値であるときには、そのようにすることが最低限必要です。  

ヒントを制御するために使用されるキーは、すべて関連付けられた RenderingHints.Key クラスをサブクラス化した特殊な値です。一般的なヒントの多くはこのクラスの静的定数として後述しますが、すべてを網羅しているわけではありません。その他のヒントは、ほかのパッケージで Key クラスをサブクラス化する新しいオブジェクトを定義して、関連する値を定義することにより作成できます。


入れ子のクラスの概要
static class RenderingHints.Key
          描画とイメージングのパイプラインのさまざまなアルゴリズムの選択を制御するために RenderingHints クラスとともに使用される、すべてのキーの基底型を定義します。
 
インタフェース java.util.Map から継承された入れ子のクラス/インタフェース
Map.Entry<K,V>
 
フィールドの概要
static RenderingHints.Key KEY_ALPHA_INTERPOLATION
          アルファ補間のヒントキーです。
static RenderingHints.Key KEY_ANTIALIASING
          アンチエイリアスのヒントキーです。
static RenderingHints.Key KEY_COLOR_RENDERING
          カラー描画のヒントキーです。
static RenderingHints.Key KEY_DITHERING
          ディザリングのヒントキーです。
static RenderingHints.Key KEY_FRACTIONALMETRICS
          フォント部分メトリックスのヒントキーです。
static RenderingHints.Key KEY_INTERPOLATION
          補間のヒントキーです。
static RenderingHints.Key KEY_RENDERING
          描画ヒントキーです。
static RenderingHints.Key KEY_STROKE_CONTROL
          ストローク正規化コントロールのヒントキーで、STROKE_CONTROL ヒントは、各種の目的で描画される形状の幾何学的図形の変更を描画実装が変更しなければならないかどうか、または変更できるかどうかを制御します。
static RenderingHints.Key KEY_TEXT_ANTIALIASING
          テキストアンチエイリアスのヒントキーです。
static RenderingHints.Key KEY_TEXT_LCD_CONTRAST
          LCD テキストコントラストの描画ヒントキーです。
static Object VALUE_ALPHA_INTERPOLATION_DEFAULT
          アルファ補間のヒント値で、パフォーマンスと品質の兼ね合いが適切になるように、実装によってアルファブレンディングアルゴリズムが選択されます。
static Object VALUE_ALPHA_INTERPOLATION_QUALITY
          アルファ補間のヒント値で、精度と表示品質の設定に合わせてアルファブレンディングアルゴリズムが選択されます。
static Object VALUE_ALPHA_INTERPOLATION_SPEED
          アルファ補間のヒント値で、計算速度の設定に合わせてアルファブレンディングアルゴリズムが選択されます。
static Object VALUE_ANTIALIAS_DEFAULT
          アンチエイリアスのヒント値で、描画は実装で選択されたデフォルトのアンチエイリアスモードを使って行われます。
static Object VALUE_ANTIALIAS_OFF
          アンチエイリアスのヒント値で、描画はアンチエイリアスなしで行われます。
static Object VALUE_ANTIALIAS_ON
          アンチエイリアスのヒント値で、描画はアンチエイリアスを使って行われます。
static Object VALUE_COLOR_RENDER_DEFAULT
          カラー描画ヒント値で、実装で選択された色変換の計算を実行し、パフォーマンスと精度の間で最適な兼ね合いを表現します。
static Object VALUE_COLOR_RENDER_QUALITY
          カラー描画ヒント値で、精度と表示品質がもっとも高い色変換の計算を実行します。
static Object VALUE_COLOR_RENDER_SPEED
          カラー描画ヒント値で、出力デバイスの形式へのもっとも高速な色変換を実行します。
static Object VALUE_DITHER_DEFAULT
          ディザリングのヒント値で、ディザリングに実装で選択されたデフォルトを使用します。
static Object VALUE_DITHER_DISABLE
          ディザリングのヒント値で、幾何学的図形の描画時にディザリングを行いません。
static Object VALUE_DITHER_ENABLE
          ディザリングのヒント値で、必要に応じて幾何学的図形の描画時にディザリングを行います。
static Object VALUE_FRACTIONALMETRICS_DEFAULT
          フォント部分メトリックスのヒント値で、文字グリフは、実装によって選択された精度で配置されます。
static Object VALUE_FRACTIONALMETRICS_OFF
          フォント部分メトリックスのヒント値で、文字グリフは、ピクセル境界に丸められた有効幅で配置されます。
static Object VALUE_FRACTIONALMETRICS_ON
          フォント部分メトリックスのヒント値で、文字グリフは、サブピクセル精度で配置されます。
static Object VALUE_INTERPOLATION_BICUBIC
          補間のヒントキーで、イメージ内で隣接する 9 つの整数座標サンプルのカラーサンプルが XY の両方で 3 次関数を使用して補間され、カラーサンプルが生成されます。
static Object VALUE_INTERPOLATION_BILINEAR
          補間のヒントキーで、イメージ内でもっとも近い隣接する 4 つの整数座標サンプルのカラーサンプルが線形に補間されて、カラーサンプルが生成されます。
static Object VALUE_INTERPOLATION_NEAREST_NEIGHBOR
          補間のヒントキーで、イメージ内でもっとも近い隣接する整数座標サンプルのカラーサンプルが使用されます。
static Object VALUE_RENDER_DEFAULT
          描画ヒント値で、パフォーマンスと品質の兼ね合いが適切になるように、実装によって描画アルゴリズムが選択されます。
static Object VALUE_RENDER_QUALITY
          描画ヒント値で、出力品質の設定に合わせて描画アルゴリズムが選択されます。
static Object VALUE_RENDER_SPEED
          描画ヒント値で、出力速度の設定に合わせて描画アルゴリズムが選択されます。
static Object VALUE_STROKE_DEFAULT
          ストローク正規化コントロールのヒント値で、実装での兼ね合いに応じて、幾何学的図形は修正されることも、そのままになることもあります。
static Object VALUE_STROKE_NORMALIZE
          ストローク正規化コントロールのヒント値で、線の一貫性または間隔、および全体的な美観を改善するために、幾何学的図形は正規化されなければなりません。
static Object VALUE_STROKE_PURE
          ストローク正規化コントロールのヒント値で、幾何学的図形は修正されずに、サブピクセル精度で描画されなければなりません。
static Object VALUE_TEXT_ANTIALIAS_DEFAULT
          テキストアンチエイリアスのヒント値で、テキスト描画は KEY_ANTIALIASING ヒントまたは実装で選択されたデフォルトに従って行われます。
static Object VALUE_TEXT_ANTIALIAS_GASP
          テキストのアンチエイリアスのヒント値で、テキスト描画は、VALUE_TEXT_ANTIALIAS_ONVALUE_TEXT_ANTIALIAS_OFF のどちらを適用するかについて、ポイントサイズごとに指定するフォントリソース内の情報を使用することが要求されます。
static Object VALUE_TEXT_ANTIALIAS_LCD_HBGR
          テキストアンチエイリアスのヒント値で、LCD ディスプレイに適した状態でテキストを表示するように要求します。
static Object VALUE_TEXT_ANTIALIAS_LCD_HRGB
          テキストアンチエイリアスのヒント値で、LCD ディスプレイに適した状態でテキストを表示するように要求します。
static Object VALUE_TEXT_ANTIALIAS_LCD_VBGR
          テキストアンチエイリアスのヒント値で、LCD ディスプレイに適した状態でテキストを表示するように要求します。
static Object VALUE_TEXT_ANTIALIAS_LCD_VRGB
          テキストアンチエイリアスのヒント値で、LCD ディスプレイに適した状態でテキストを表示するように要求します。
static Object VALUE_TEXT_ANTIALIAS_OFF
          テキストアンチエイリアスのヒント値で、テキスト描画はアンチエイリアスを一切使わずに行われます。
static Object VALUE_TEXT_ANTIALIAS_ON
          テキストアンチエイリアスのヒント値で、テキスト描画はなんらかの形式のアンチエイリアスを使って行われます。
 
コンストラクタの概要
RenderingHints(Map<RenderingHints.Key,?> init)
          キーと値を指定された Map オブジェクト (null の場合もある) から初期化して、オブジェクトを新しく構築します。
RenderingHints(RenderingHints.Key key, Object value)
          指定されたキーと値のペアでオブジェクトを新しく作成します。
 
メソッドの概要
 void add(RenderingHints hints)
          指定された RenderingHints オブジェクトからすべてのキーとその対応する値をこの RenderingHints オブジェクトに追加します。
 void clear()
          この RenderingHints オブジェクトからすべてのキーと値のペアを削除します。
 Object clone()
          この RenderingHints オブジェクトと同一の内容を持つ、この RenderingHints のクローン (複製) を作成します。
 boolean containsKey(Object key)
          この RenderingHints 内に、指定されたキーのマッピングが含まれている場合に true を返します。
 boolean containsValue(Object value)
          この RenderingHints が指定された値に 1 つ以上のキーをマッピングしている場合に true を返します。
 Set<Map.Entry<Object,Object>> entrySet()
          この RenderingHints に格納されているマッピングの Set ビューを返します。
 boolean equals(Object o)
          指定された Object とこの RenderingHints が等しいかどうかを比較します。
 Object get(Object key)
          指定されたキーがマッピングされている値を返します。
 int hashCode()
          この RenderingHints のハッシュコード値を返します。
 boolean isEmpty()
          この RenderingHints 内にキーと値のマッピングがない場合に true を返します。
 Set<Object> keySet()
          この RenderingHints に格納されている Key の Set ビューを返します。
 Object put(Object key, Object value)
          この RenderingHints オブジェクトで、指定された key を指定された value にマッピングします。
 void putAll(Map<?,?> m)
          指定された Map からすべてのマッピングをこの RenderingHints にコピーします。
 Object remove(Object key)
          この RenderingHints オブジェクトから、指定されたキーとその対応する値を削除します。
 int size()
          この RenderingHints 内のキーと値のマッピングの数を返します。
 String toString()
          この RenderingHints オブジェクトのキーと値のマッピングを格納するハッシュマップの比較的長い文字列表現を返します。
 Collection<Object> values()
          この RenderingHints に格納されている値の Collection ビューを返します。
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

KEY_ANTIALIASING

public static final RenderingHints.Key KEY_ANTIALIASING
アンチエイリアスのヒントキーです。ANTIALIASING ヒントは、Graphics2D オブジェクトの幾何学的図形の描画方法で、形状の端でのエイリアシングアーティファクトを減らすよう試みるかどうかを制御します。  

一般的なアンチエイリアスアルゴリズムの動作では、形状の推定される部分ピクセルカバレージに応じて、形状の境界に沿ったピクセルの既存の色を、要求された塗りつぶしペイントとブレンドします。  

このヒントでは、次の値を使用できます。


VALUE_ANTIALIAS_ON

public static final Object VALUE_ANTIALIAS_ON
アンチエイリアスのヒント値で、描画はアンチエイリアスを使って行われます。

関連項目:
KEY_ANTIALIASING

VALUE_ANTIALIAS_OFF

public static final Object VALUE_ANTIALIAS_OFF
アンチエイリアスのヒント値で、描画はアンチエイリアスなしで行われます。

関連項目:
KEY_ANTIALIASING

VALUE_ANTIALIAS_DEFAULT

public static final Object VALUE_ANTIALIAS_DEFAULT
アンチエイリアスのヒント値で、描画は実装で選択されたデフォルトのアンチエイリアスモードを使って行われます。

関連項目:
KEY_ANTIALIASING

KEY_RENDERING

public static final RenderingHints.Key KEY_RENDERING
描画ヒントキーです。RENDERING ヒントは汎用ヒントであり、アルゴリズムの選択で速度と品質のどちらを重視するか、その兼ね合いを評価するときに、高いレベルの推奨内容を提供します。このヒントは、描画やイメージ操作の演算で参照されることもありますが、判断する際は、通常、その他のより詳細なヒントがこのヒントよりも優先されます。  

このヒントでは、次の値を使用できます。


VALUE_RENDER_SPEED

public static final Object VALUE_RENDER_SPEED
描画ヒント値で、出力速度の設定に合わせて描画アルゴリズムが選択されます。

関連項目:
KEY_RENDERING

VALUE_RENDER_QUALITY

public static final Object VALUE_RENDER_QUALITY
描画ヒント値で、出力品質の設定に合わせて描画アルゴリズムが選択されます。

関連項目:
KEY_RENDERING

VALUE_RENDER_DEFAULT

public static final Object VALUE_RENDER_DEFAULT
描画ヒント値で、パフォーマンスと品質の兼ね合いが適切になるように、実装によって描画アルゴリズムが選択されます。

関連項目:
KEY_RENDERING

KEY_DITHERING

public static final RenderingHints.Key KEY_DITHERING
ディザリングのヒントキーです。DITHERING ヒントは、カラー解像度が限定されている描画先に色を格納するときに、その色を近似する程度を制御します。  

一部の描画先では、サポートされている色の選択肢の数が限定されているため、描画演算中に色の完全なスペクトルを正確に表すことができない場合があります。このような描画先に対して DITHERING ヒントは、サポートされる色のうち要求された色にもっとも近い色で単一ピクセル値を均一に塗りつぶして描画するか、またはその色を最適に近似するために組み合わせる色のパターンで形状を塗りつぶすかを制御します。  

このヒントでは、次の値を使用できます。


VALUE_DITHER_DISABLE

public static final Object VALUE_DITHER_DISABLE
ディザリングのヒント値で、幾何学的図形の描画時にディザリングを行いません。

関連項目:
KEY_DITHERING

VALUE_DITHER_ENABLE

public static final Object VALUE_DITHER_ENABLE
ディザリングのヒント値で、必要に応じて幾何学的図形の描画時にディザリングを行います。

関連項目:
KEY_DITHERING

VALUE_DITHER_DEFAULT

public static final Object VALUE_DITHER_DEFAULT
ディザリングのヒント値で、ディザリングに実装で選択されたデフォルトを使用します。

関連項目:
KEY_DITHERING

KEY_TEXT_ANTIALIASING

public static final RenderingHints.Key KEY_TEXT_ANTIALIASING
テキストアンチエイリアスのヒントキーです。TEXT_ANTIALIASING ヒントは、形状の描画に使用する設定とは独立して、テキストのアンチエイリアスアルゴリズムの使用を制御できます。アプリケーションでは、テキストだけにアンチエイリアスを使用し、その他の形状にはアンチエイリアスを使用しない場合があります。また、テキストのエイリアシングアーティファクトを減らすアルゴリズムのほうが、汎用の描画処理用に開発されたアルゴリズムよりも高性能である場合もあります。そのため、このヒントキーでは追加の値を提供して、テキスト固有のアルゴリズムについて一部の選択肢を制御できます。DEFAULT の状態のままである場合、一般にこのヒントは、通常の KEY_ANTIALIASING ヒントキーの値に従います。  

このヒントでは、次の値を使用できます。


VALUE_TEXT_ANTIALIAS_ON

public static final Object VALUE_TEXT_ANTIALIAS_ON
テキストアンチエイリアスのヒント値で、テキスト描画はなんらかの形式のアンチエイリアスを使って行われます。

関連項目:
KEY_TEXT_ANTIALIASING

VALUE_TEXT_ANTIALIAS_OFF

public static final Object VALUE_TEXT_ANTIALIAS_OFF
テキストアンチエイリアスのヒント値で、テキスト描画はアンチエイリアスを一切使わずに行われます。

関連項目:
KEY_TEXT_ANTIALIASING

VALUE_TEXT_ANTIALIAS_DEFAULT

public static final Object VALUE_TEXT_ANTIALIAS_DEFAULT
テキストアンチエイリアスのヒント値で、テキスト描画は KEY_ANTIALIASING ヒントまたは実装で選択されたデフォルトに従って行われます。

関連項目:
KEY_TEXT_ANTIALIASING

VALUE_TEXT_ANTIALIAS_GASP

public static final Object VALUE_TEXT_ANTIALIAS_GASP
テキストのアンチエイリアスのヒント値で、テキスト描画は、VALUE_TEXT_ANTIALIAS_ONVALUE_TEXT_ANTIALIAS_OFF のどちらを適用するかについて、ポイントサイズごとに指定するフォントリソース内の情報を使用することが要求されます。  

TrueType フォントは、通常この情報を「gasp」テーブルで提供します。この情報がないと、特定のフォントおよびサイズの動作は、実装のデフォルトによって決まります。  

注: 通常、フォントの設計時は、もっとも一般的なユーザーインタフェースのポイントサイズに合わせて、フォントのヒント値を慎重に設定します。その結果「gasp」テーブルは、そのサイズの場合にだけヒントを使用し、「平滑化」は使用しないことを指定する可能性があります。そのため多くの場合、結果として得られるテキスト表示は、VALUE_TEXT_ANTIALIAS_OFF と同等です。これは予期していませんが適切な動作です。  

一貫性を保つために複数の物理フォントで構成される論理フォントでは、構成するフォント全体でもっとも適切な設定が使用されます。

導入されたバージョン:
1.6
関連項目:
KEY_TEXT_ANTIALIASING

VALUE_TEXT_ANTIALIAS_LCD_HRGB

public static final Object VALUE_TEXT_ANTIALIAS_LCD_HRGB
テキストアンチエイリアスのヒント値で、LCD ディスプレイに適した状態でテキストを表示するように要求します。サブピクセルは、左から右へ R、G、B の順に並ぶため、サブピクセルの水平方向の解像度はフルピクセルの水平方向の解像度 (HRGB) の場合の 3 倍になります。これはもっとも一般的な設定です。その他の LCD サブピクセル設定のいずれかで表示する場合にこのヒントを選択すると、ピントがはずれたテキストになる可能性があります。  

注:
いずれかの LCD テキストヒント値を適用するかどうかを選択するときに、実装では、次のようにさまざまな点が考慮されることがあります。転送先でピクセルあたり 15 ビット (つまり色成分あたり 5 ビット) 以上の色深度にする必要性、埋め込みビットマップのほうが良好な結果になる場合があるなどのフォントの特性、ローカルではないネットワーク化された表示デバイスへの表示時は適切なプロトコルが使用可能な場合にだけデバイスを有効にする、非常に高解像度な描画を実行する場合や転送先デバイスが適切でない (印刷時など) 場合はヒントを無視するなどです。  

これらのヒントは、ソフトウェアイメージへの描画時に等しく適用できますが、テキストは特定のサブピクセル構成に合わせて描画されるため、そのようなイメージは一般的な書き出しに適していない可能性があります。また、損失のあるイメージや、GIF のように色数が限られているイメージ形式を選択することは、適切ではありません。そのため同じ設定を使用してイメージが単独で表示デバイスに描画されないかぎり、VALUE_TEXT_ANTIALIAS_ON などのその他のテキストアンチエイリアスのヒントのほうが適している場合があります。 

使用している LCD ディスプレイに一致しない値を選択すると、テキスト品質が低下する可能性があります。LCD ディスプレイと同じ特性を持たない表示デバイス (CRT など) の場合、全体的な効果は標準のテキストアンチエイリアスに似ている場合がありますが、色の変化によって品質が低下することがあります。アナログ接続された LCD ディスプレイでも、CRT と同様に、標準のテキストアンチエイリアスに比べて利点はほとんどない可能性があります。  

つまり最適な結果を得るには、デジタルディスプレイコネクタで LCD ディスプレイを使用し、適切なサブピクセル設定を指定してください。

導入されたバージョン:
1.6
関連項目:
KEY_TEXT_ANTIALIASING

VALUE_TEXT_ANTIALIAS_LCD_HBGR

public static final Object VALUE_TEXT_ANTIALIAS_LCD_HBGR
テキストアンチエイリアスのヒント値で、LCD ディスプレイに適した状態でテキストを表示するように要求します。サブピクセルは、左から右へ B、G、R の順に並ぶため、サブピクセルの水平方向の解像度はフルピクセルの水平方向の解像度 (HBGR) の場合の 3 倍になります。HRGB と比べてあまり一般的でない設定です。その他の LCD サブピクセル設定のいずれかで表示する場合にこのヒントを選択すると、ピントがはずれたテキストになる可能性があります。このヒントを適用する場合の詳細については、VALUE_TEXT_ANTIALIAS_LCD_HRGB を参照してください。

導入されたバージョン:
1.6
関連項目:
KEY_TEXT_ANTIALIASING

VALUE_TEXT_ANTIALIAS_LCD_VRGB

public static final Object VALUE_TEXT_ANTIALIAS_LCD_VRGB
テキストアンチエイリアスのヒント値で、LCD ディスプレイに適した状態でテキストを表示するように要求します。サブピクセルの構成は、上から下へ R、G、B の順に並ぶため、サブピクセルの垂直方向の解像度はフルピクセルの垂直方向の解像度 (VRGB) の場合の 3 倍になります。垂直方向のサブピクセル構成はほとんど使用されておらず、主に物理的に回転させたディスプレイの場合に便利です。その他の LCD サブピクセル設定のいずれかで表示する場合にこのヒントを選択すると、ピントがはずれたテキストになる可能性があります。このヒントを適用する場合の詳細については、VALUE_TEXT_ANTIALIAS_LCD_HRGB を参照してください。

導入されたバージョン:
1.6
関連項目:
KEY_TEXT_ANTIALIASING

VALUE_TEXT_ANTIALIAS_LCD_VBGR

public static final Object VALUE_TEXT_ANTIALIAS_LCD_VBGR
テキストアンチエイリアスのヒント値で、LCD ディスプレイに適した状態でテキストを表示するように要求します。サブピクセルの構成は、上から下へ B、G、R の順に並ぶため、サブピクセルの垂直方向の解像度はフルピクセルの垂直方向の解像度 (VBGR) の場合の 3 倍になります。垂直方向のサブピクセル構成はほとんど使用されておらず、主に物理的に回転させたディスプレイの場合に便利です。その他の LCD サブピクセル設定のいずれかで表示する場合にこのヒントを選択すると、ピントがはずれたテキストになる可能性があります。このヒントを適用する場合の詳細については、VALUE_TEXT_ANTIALIAS_LCD_HRGB を参照してください。

導入されたバージョン:
1.6
関連項目:
KEY_TEXT_ANTIALIASING

KEY_TEXT_LCD_CONTRAST

public static final RenderingHints.Key KEY_TEXT_LCD_CONTRAST
LCD テキストコントラストの描画ヒントキーです。値は、LCD テキストアンチエイリアスヒント (VALUE_TEXT_ANTIALIAS_LCD_HRGB など) と組み合わせて使用するときにテキストのコントラスト調整として使用される Integer オブジェクトです。 デフォルト値は、ほとんどの目的に適していることが期待されるため、適切な値について具体的な情報がある場合を除き、クライアントはこのヒントの値を指定する必要がほとんどありません。値を高くしても、コントラストは高くなりません。実際はその逆です。補正はガンマ調整と同じような方法で、表示システムの非線形の知覚輝度反応に対して適用されますが、完全な補正ではありません。

導入されたバージョン:
1.6
関連項目:
KEY_TEXT_ANTIALIASING

KEY_FRACTIONALMETRICS

public static final RenderingHints.Key KEY_FRACTIONALMETRICS
フォント部分メトリックスのヒントキーです。FRACTIONALMETRICS ヒントは、個別の文字グリフの配置で、フォントのスケーリングされた文字の有効幅のサブピクセル精度を考慮するかどうか、またはそのような有効幅ベクトルをデバイス全体のピクセル数である整数値に丸めるかを制御します。このヒントは、グリフを配置するために使用される精度の程度だけを推奨し、グリフの実際のラスター化やピクセル境界を一致するように修正するかどうかについては指定または推奨しません。  

画面のような低解像度デバイスにテキストを描画する場合は、文字グリフの形状およびメトリックスの高品質で非常に正確な定義を個々のデバイスピクセルに一致させる必要があるため、いくつかの丸め演算を呼び出す必要があります。理論的には、テキストレイアウト時のグリフの配置は、ポイントサイズに応じてフォントの設計メトリックスをスケーリングすることで計算されます。ただし、スケーリングされた有効幅は、ピクセルの整数値であるとはかぎりません。スケーリングされたこれらの設計メトリックスに応じてグリフがサブピクセル精度で配置される場合、理論的にはサブピクセルの原点と考えられる位置ごとにラスター化を調整する必要があります。  

ただし、テキストレイアウト時に正確なサブピクセル原点に対してカスタマイズされた各グリフをスケーリングすることは非常に負荷が高いため、テキストをレイアウトする場合は、通常は整数デバイス位置を基にした単純化された座標系が使用されます。グリフのラスター化とスケーリングされた有効幅の両方が調整されて、テキストが生成されます。このテキストは、デバイスの解像度で適切に表示され、グリフ間の距離は一貫した整数ピクセル距離になるので、グリフの間隔が均等でばらつきがなく読みやすくなります。  

ラスター化されたグリフの有効幅を整数距離に丸める処理によって、各グリフの調整後の幅でのわずかな差が累積するために、文字の密度とテキスト文字列の全体の長さは理論上の設計寸法とは異なります。具体的な差はグリフごとに異なり、グリフによって理論上の設計寸法よりも広くなったり狭くなったりします。そのため、文字密度と長さの全体的な差は、フォント、対象とする具体的なデバイス解像度、描画される文字列を表現するために選択されたグリフなど、さまざまな要因によって変化します。結果として、同じ文字列を複数のデバイス解像度で描画すると、文字列全体について広範囲に変化するメトリックスが得られることがあります。  

FRACTIONALMETRICS を有効にすると、本来のフォント設計メトリックスがポイントサイズまでスケーリングされて、サブピクセル精度でレイアウトに使用されます。そのため、長い文字列ではグリフの平均密度と全体の長さは、フォントの理論上の設計に非常に近くなりますが、グリフ原点のサブピクセルの累積をデバイスピクセルグリッドに合わせる方法によっては、文字の各ペアの距離が常に均等になるとはかぎらないため、読みやすさに影響する可能性があります。幅広い出力解像度で均等であることが必要なテキストレイアウトが実行されているときは、このヒントを有効にすることが望ましい場合があります。特に、最終的には高解像度のプリンタや写植装置で描画する出力について、テキストのレイアウトを画面などの低解像度デバイスでプレビューしているような状況では、このヒントを使用するのが望ましい方法です。  

無効にすると、スケーリングされた設計メトリックスはレイアウトで整数距離に丸め処理または調整されます。グリフの各ペア間の距離は、デバイス上でより均一になりますが、長い文字列の密度や合計の長さは、フォント設計者が理論的に意図したものとは一致しなくなる可能性があります。一般にこのヒントを無効にすると、コンピュータのモニタのような低解像度デバイスでは読みやすい結果が得られます。  

このキーでは、次の値を使用できます。


VALUE_FRACTIONALMETRICS_OFF

public static final Object VALUE_FRACTIONALMETRICS_OFF
フォント部分メトリックスのヒント値で、文字グリフは、ピクセル境界に丸められた有効幅で配置されます。

関連項目:
KEY_FRACTIONALMETRICS

VALUE_FRACTIONALMETRICS_ON

public static final Object VALUE_FRACTIONALMETRICS_ON
フォント部分メトリックスのヒント値で、文字グリフは、サブピクセル精度で配置されます。

関連項目:
KEY_FRACTIONALMETRICS

VALUE_FRACTIONALMETRICS_DEFAULT

public static final Object VALUE_FRACTIONALMETRICS_DEFAULT
フォント部分メトリックスのヒント値で、文字グリフは、実装によって選択された精度で配置されます。

関連項目:
KEY_FRACTIONALMETRICS

KEY_INTERPOLATION

public static final RenderingHints.Key KEY_INTERPOLATION
補間のヒントキーです。INTERPOLATION ヒントは、イメージの描画演算中にイメージピクセルがフィルタ処理または再抽出される方法を制御します。  

イメージは、整数座標位置でカラーサンプルを提供するように暗黙的に定義されます。イメージが描画先でスケーリングされずに垂直方向に描画される場合、どのイメージピクセルマップをどのデバイスピクセルに描画するかの選択は明確であり、イメージの整数座標位置のサンプルは、デバイスピクセルグリッドの対応する整数位置のピクセルに 1 対 1 で転送されます。イメージがスケーリング、回転、またはその他の変形が加えられた座標系で描画され、そのあとデバイスピクセル座標からイメージへの逆マッピングが行われると、指定されたイメージサンプルの整数位置の間に存在する連続した座標に対して、どのカラーサンプルを使用するかという問題が生じることがあります。補間アルゴリズムは、周囲の整数座標のカラーサンプルに基づいてイメージで連続した座標のカラーサンプルを提供する関数を定義します。  

このヒントでは、次の値を使用できます。


VALUE_INTERPOLATION_NEAREST_NEIGHBOR

public static final Object VALUE_INTERPOLATION_NEAREST_NEIGHBOR
補間のヒントキーで、イメージ内でもっとも近い隣接する整数座標サンプルのカラーサンプルが使用されます。概念上、イメージは各イメージピクセルの中心の周りに集まった、均一なサイズの四角い色領域からなるグリッドとして表示されます。  

イメージを拡大すると、それに応じてブロック状になります。イメージを縮小すると、ソースピクセルの色は変更されずに使用されるか、または出力表現では完全にスキップされます。

関連項目:
KEY_INTERPOLATION

VALUE_INTERPOLATION_BILINEAR

public static final Object VALUE_INTERPOLATION_BILINEAR
補間のヒントキーで、イメージ内でもっとも近い隣接する 4 つの整数座標サンプルのカラーサンプルが線形に補間されて、カラーサンプルが生成されます。概念上、イメージは非常に小さいポイントのカラーサンプルのセットとして表示されます。このカラーサンプルは、整数座標ピクセルの中心のみで値を持ち、これらのピクセルの中心どうしの間にある領域は、直線上で隣接する個々のサンプルを結び付けるような線形の色変化で塗りつぶされます。  

イメージを拡大しても、NEAREST_NEIGHBOR の場合に見られるようなブロック状の端はイメージ内の色の間にはありません。ただしブレンドすると、サンプルに沿って並んだ水平方向および垂直方向の端に沿ってわずかに不連続が見られることがあります。これはサンプルの一方の側から他方の側へ補間の傾きが突然変化するために生じます。イメージを縮小すると、各出力ピクセルは最高で 4 つのイメージピクセルから色情報を受け取るため、結果として得られる出力にカラーサンプルが表現されるイメージピクセルが多くなります。

関連項目:
KEY_INTERPOLATION

VALUE_INTERPOLATION_BICUBIC

public static final Object VALUE_INTERPOLATION_BICUBIC
補間のヒントキーで、イメージ内で隣接する 9 つの整数座標サンプルのカラーサンプルが XY の両方で 3 次関数を使用して補間され、カラーサンプルが生成されます。概念上、イメージの表示は BILINEAR アルゴリズムを使用した表示と非常に似ています。ただし、サンプル間を結び付ける色変化は、曲線になり、サンプル境界間を交差するために傾きの連続性が向上します。  

イメージを拡大してもブロック状の端はなく、BILINEAR を使用した場合よりも、補間はなめらかになり、元のイメージの端がより的確に描かれます。イメージを縮小しても、元のイメージの元のカラーサンプルの色情報が維持され表現される量が多くなります。

関連項目:
KEY_INTERPOLATION

KEY_ALPHA_INTERPOLATION

public static final RenderingHints.Key KEY_ALPHA_INTERPOLATION
アルファ補間のヒントキーです。ALPHA_INTERPOLATION ヒントは汎用ヒントであり、アルゴリズムの選択で速度と品質のどちらを重視するか、その兼ね合いを評価するときに、高いレベルの推奨内容を提供します。  

このヒントでは、精度をいくらか犠牲にして高速なルックアップテーブルや低精度の SIMD 命令を使用するアルファブレンディング計算の選択を制御できます。また、ピクセル単位の計算がさらに発生するデメリットがありますが、線形な視覚効果を高めるために、計算中に色やアルファの値を線形カラースペースに変換するかどうかについても制御できます。  

このヒントでは、次の値を使用できます。


VALUE_ALPHA_INTERPOLATION_SPEED

public static final Object VALUE_ALPHA_INTERPOLATION_SPEED
アルファ補間のヒント値で、計算速度の設定に合わせてアルファブレンディングアルゴリズムが選択されます。

関連項目:
KEY_ALPHA_INTERPOLATION

VALUE_ALPHA_INTERPOLATION_QUALITY

public static final Object VALUE_ALPHA_INTERPOLATION_QUALITY
アルファ補間のヒント値で、精度と表示品質の設定に合わせてアルファブレンディングアルゴリズムが選択されます。

関連項目:
KEY_ALPHA_INTERPOLATION

VALUE_ALPHA_INTERPOLATION_DEFAULT

public static final Object VALUE_ALPHA_INTERPOLATION_DEFAULT
アルファ補間のヒント値で、パフォーマンスと品質の兼ね合いが適切になるように、実装によってアルファブレンディングアルゴリズムが選択されます。

関連項目:
KEY_ALPHA_INTERPOLATION

KEY_COLOR_RENDERING

public static final RenderingHints.Key KEY_COLOR_RENDERING
カラー描画のヒントキーです。COLOR_RENDERING ヒントは、描画先イメージまたは表面に色を格納するときの近似および変換の精度を制御します。  

描画またはイメージ操作の演算によって、描画先に格納される必要のあるカラー値が生成されるときに、描画先イメージまたは表面への格納に適した形式にその色を変換する必要があります。色成分をビット表現に変換して適切な順序で並べるか、またはデータを描画先メモリーに格納する前に色のルックアップテーブルに対するインデックスを選択することが最低限必要です。このような最低限の変換を行わないと、描画先のデータが表現する値がランダムや不正確になったり、場合によってはサポートされない値になったりします。描画演算の結果をもっとも一般的な描画先の色形式にすばやく変換するアルゴリズムは、広く知られており、実行するのに最適です。  

描画先に色を格納するためにもっとも基本的な色形式変換を実行するだけでは、描画元と描画先の ColorSpace やその他の要因 (ガンマ補正の線形性など) の較正での差が無視される可能性があります。描画元と描画先の ColorSpace が同一でないかぎり、表現されている色の精度を最大限考慮して描画演算を適切に実行するには、描画元の色がデバイス非依存の ColorSpace に変換され、その結果が描画先の ColorSpace に逆変換されなければなりません。さらに、複数のソースの色をブレンドするような計算が描画演算中に実行される場合、計算される値と、出力デバイスの応答曲線に対する目による認知との間に対応関係を設定するために中間のデバイス非依存の ColorSpace が選択されると、視覚上のわかりやすさを向上させることができます。  

このヒントでは、次の値を使用できます。


VALUE_COLOR_RENDER_SPEED

public static final Object VALUE_COLOR_RENDER_SPEED
カラー描画ヒント値で、出力デバイスの形式へのもっとも高速な色変換を実行します。

関連項目:
KEY_COLOR_RENDERING

VALUE_COLOR_RENDER_QUALITY

public static final Object VALUE_COLOR_RENDER_QUALITY
カラー描画ヒント値で、精度と表示品質がもっとも高い色変換の計算を実行します。

関連項目:
KEY_COLOR_RENDERING

VALUE_COLOR_RENDER_DEFAULT

public static final Object VALUE_COLOR_RENDER_DEFAULT
カラー描画ヒント値で、実装で選択された色変換の計算を実行し、パフォーマンスと精度の間で最適な兼ね合いを表現します。

関連項目:
KEY_COLOR_RENDERING

KEY_STROKE_CONTROL

public static final RenderingHints.Key KEY_STROKE_CONTROL
ストローク正規化コントロールのヒントキーで、STROKE_CONTROL ヒントは、各種の目的で描画される形状の幾何学的図形の変更を描画実装が変更しなければならないかどうか、または変更できるかどうかを制御します。  

実装によっては、最適化されたプラットフォーム描画ライブラリを使用できることがあります。これは、そのプラットフォームでの従来のソフトウェア描画アルゴリズムよりも高速である可能性がありますが、浮動小数点座標をサポートしていない可能性もあります。また、幅の広い線の幅や間隔がより均等になるようにパスの座標に影響を及ぼす高度なアルゴリズムが実装されていることもあります。  

どのような種類であってもパスの変更や「正規化」を実行する場合は、どの方向にも座標を半ピクセル以上移動しないでください。  

このヒントでは、次の値を使用できます。

導入されたバージョン:
1.3

VALUE_STROKE_DEFAULT

public static final Object VALUE_STROKE_DEFAULT
ストローク正規化コントロールのヒント値で、実装での兼ね合いに応じて、幾何学的図形は修正されることも、そのままになることもあります。通常この設定では、実装でプラットフォームの描画ライブラリに基づく高速な整数座標を使用できますが、一貫性や外観のために正規化を特に要求することはありません。

導入されたバージョン:
1.3
関連項目:
KEY_STROKE_CONTROL

VALUE_STROKE_NORMALIZE

public static final Object VALUE_STROKE_NORMALIZE
ストローク正規化コントロールのヒント値で、線の一貫性または間隔、および全体的な美観を改善するために、幾何学的図形は正規化されなければなりません。別の正規化アルゴリズムのほうが、特定の入力パスに適していることがあります。

導入されたバージョン:
1.3
関連項目:
KEY_STROKE_CONTROL

VALUE_STROKE_PURE

public static final Object VALUE_STROKE_PURE
ストローク正規化コントロールのヒント値で、幾何学的図形は修正されずに、サブピクセル精度で描画されなければなりません。

導入されたバージョン:
1.3
関連項目:
KEY_STROKE_CONTROL
コンストラクタの詳細

RenderingHints

public RenderingHints(Map<RenderingHints.Key,?> init)
キーと値を指定された Map オブジェクト (null の場合もある) から初期化して、オブジェクトを新しく構築します。

パラメータ:
init - ヒントを初期化するキーと値のペアのマップ。 オブジェクトを空にする場合は null

RenderingHints

public RenderingHints(RenderingHints.Key key,
                      Object value)
指定されたキーと値のペアでオブジェクトを新しく作成します。

パラメータ:
key - 特定のヒントプロパティーのキー
value - key で指定されたヒントプロパティーの
メソッドの詳細

size

public int size()
この RenderingHints 内のキーと値のマッピングの数を返します。

定義:
インタフェース Map<Object,Object> 内の size
戻り値:
この RenderingHints 内のキーと値の マッピングの数

isEmpty

public boolean isEmpty()
この RenderingHints 内にキーと値のマッピングがない場合に true を返します。

定義:
インタフェース Map<Object,Object> 内の isEmpty
戻り値:
この RenderingHints に キーと値のマッピングがない場合は true

containsKey

public boolean containsKey(Object key)
この RenderingHints 内に、指定されたキーのマッピングが含まれている場合に true を返します。

定義:
インタフェース Map<Object,Object> 内の containsKey
パラメータ:
key - この RenderingHints 内に あるかどうかがテスト対象となるキー
戻り値:
この RenderingHints に 指定されたキーのマッピングが含まれている場合は true
例外:
ClassCastException - キーを RenderingHints.Key にキャストできない場合

containsValue

public boolean containsValue(Object value)
この RenderingHints が指定された値に 1 つ以上のキーをマッピングしている場合に true を返します。つまり、この RenderingHints に次のような値 v へのマッピングが 1 つ以上ある場合に限り true を返します。
(value==null ? v==null :value.equals(v))
 
RenderingHints のほとんどの実装で、このオペレーションは RenderingHints のサイズに正比例して時間がかかります。

定義:
インタフェース Map<Object,Object> 内の containsValue
パラメータ:
value - この RenderingHints 内に あるかどうかがテスト対象となる値
戻り値:
この RenderingHints が 指定された値に 1 つ以上のキーをマッピングしている場合は true

get

public Object get(Object key)
指定されたキーがマッピングされている値を返します。

定義:
インタフェース Map<Object,Object> 内の get
パラメータ:
key - 描画ヒントキー
戻り値:
このオブジェクトでキーがマッピングされている値。 そのキーがこのオブジェクトでどの値にもマッピングされていない場合は null
例外:
ClassCastException - キーを RenderingHints.Key にキャストできない場合
関連項目:
put(Object, Object)

put

public Object put(Object key,
                  Object value)
この RenderingHints オブジェクトで、指定された key を指定された value にマッピングします。キーや値は null にすることはできません。この値は、元のキーと等しいキーを指定して get メソッドを呼び出すことによって取り出すことができます。

定義:
インタフェース Map<Object,Object> 内の put
パラメータ:
key - 描画ヒントキー
value - 描画ヒント値
戻り値:
このオブジェクトの指定されたキーの以前の値。 それがない場合は null
例外:
NullPointerException - キーが null の場合
ClassCastException - キーを RenderingHints.Key にキャストできない場合
IllegalArgumentException - 指定されたキーの Key.isCompatibleValue() メソッドが、指定された値に対して false を返す場合
関連項目:
get(Object)

add

public void add(RenderingHints hints)
指定された RenderingHints オブジェクトからすべてのキーとその対応する値をこの RenderingHints オブジェクトに追加します。この RenderingHints オブジェクトに存在するが、指定された RenderingHints オブジェクトにないキーは影響を受けません。

パラメータ:
hints - この RenderingHints オブジェクトに追加される キーと値のペアのセット

clear

public void clear()
この RenderingHints オブジェクトからすべてのキーと値のペアを削除します。

定義:
インタフェース Map<Object,Object> 内の clear

remove

public Object remove(Object key)
この RenderingHints オブジェクトから、指定されたキーとその対応する値を削除します。指定されたキーがこの RenderingHints オブジェクトにない場合、このメソッドは何もしません。

定義:
インタフェース Map<Object,Object> 内の remove
パラメータ:
key - 削除される描画ヒントキー
戻り値:
この RenderingHints オブジェクトでキーが以前にマッピングされていた値。 キーがマッピングされていなかった場合は null
例外:
ClassCastException - キーを RenderingHints.Key にキャストできない場合

putAll

public void putAll(Map<?,?> m)
指定された Map からすべてのマッピングをこの RenderingHints にコピーします。それらのマッピングは、指定された Map に現在あるキーに対応する、この RenderingHints にあったマッピングを置換します。

定義:
インタフェース Map<Object,Object> 内の putAll
パラメータ:
m - 指定された Map
例外:
ClassCastException - 指定された Map 内のキーまたは値のクラスが原因で、キーまたは値が この RenderingHints 内に格納されない場合
IllegalArgumentException - 指定された Map のキーまたは値の特性が原因で、 この RenderingHints に 格納されない場合

keySet

public Set<Object> keySet()
この RenderingHints に格納されている Key の Set ビューを返します。Set は RenderingHints に連動しており、RenderingHints への変更は Set で反映され、その逆方向でも反映されます。Set の繰り返し処理の進行中に RenderingHints が変更される場合、繰り返し処理の結果は保証されません。Set は、Iterator.removeSet.removeremoveAllretainAll、および clear の各オペレーションを介して RenderingHints から対応するマッピングを削除する要素削除処理をサポートします。Set は、add オペレーションや addAll オペレーションはサポートしていません。

定義:
インタフェース Map<Object,Object> 内の keySet
戻り値:
この RenderingHints 内に格納されている キーの Set ビュー

values

public Collection<Object> values()
この RenderingHints に格納されている値の Collection ビューを返します。CollectionRenderingHints に連動しており、RenderingHints への変更は Collection で反映され、その逆方向でも反映されます。Collection の繰り返し処理の進行中に RenderingHints が変更される場合、繰り返し処理の結果は保証されません。Collection は、Iterator.removeCollection.removeremoveAllretainAll、および clear の各オペレーションを介して RenderingHints から対応するマッピングを削除する要素削除処理をサポートします。Set は、add オペレーションや addAll オペレーションはサポートしていません。

定義:
インタフェース Map<Object,Object> 内の values
戻り値:
この RenderingHints に格納されている 値の Collection ビュー

entrySet

public Set<Map.Entry<Object,Object>> entrySet()
この RenderingHints に格納されているマッピングの Set ビューを返します。返される Set の各要素は Map.Entry です。SetRenderingHints に連動しており、RenderingHints への変更は Set で反映され、その逆方向でも反映されます。Set の繰り返し処理の進行中に RenderingHints が変更される場合、繰り返し処理の結果は保証されません。  

RenderingHints オブジェクトから返される entrySet は変更できません。

定義:
インタフェース Map<Object,Object> 内の entrySet
戻り値:
この RenderingHints 内に格納されている マッピングの Set ビュー

equals

public boolean equals(Object o)
指定された Object とこの RenderingHints が等しいかどうかを比較します。指定されたオブジェクトも Map であり、2 つの Map オブジェクトが同じマッピングを表す場合に true を返します。つまり、t1.keySet().equals(t2.keySet()) であり、t1.keySet() 内のすべてのキー k で次のような場合に、2 つの Map オブジェクト t1t2 は同じマッピングを表します。
(t1.get(k)==null ? t2.get(k)==null :t1.get(k).equals(t2.get(k)))
 
これにより、Map インタフェースの実装が異なる場合でも、equals メソッドが正しく動作することが保証されます。

定義:
インタフェース Map<Object,Object> 内の equals
オーバーライド:
クラス Object 内の equals
パラメータ:
o - この RenderingHints と等しいかどうかを比較する対象の Object
戻り値:
指定された Object がこの RenderingHints と 等しい場合は true
関連項目:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
この RenderingHints のハッシュコード値を返します。RenderingHints のハッシュコードは、RenderingHints オブジェクトの entrySet ビュー内の各 Entry の hashCode の合計になるように定義されます。これにより、Object.hashCode の汎用規約によって要求されるように、任意の 2 つの Map オブジェクト t1t2 について、t1.equals(t2) ならば t1.hashCode()==t2.hashCode() となることが保証されます。

定義:
インタフェース Map<Object,Object> 内の hashCode
オーバーライド:
クラス Object 内の hashCode
戻り値:
この RenderingHints のハッシュコード値
関連項目:
Map.Entry.hashCode(), Object.hashCode(), Object.equals(Object), equals(Object)

clone

public Object clone()
この RenderingHints オブジェクトと同一の内容を持つ、この RenderingHints のクローン (複製) を作成します。

オーバーライド:
クラス Object 内の clone
戻り値:
このインスタンスの複製
関連項目:
Cloneable

toString

public String toString()
この RenderingHints オブジェクトのキーと値のマッピングを格納するハッシュマップの比較的長い文字列表現を返します。

オーバーライド:
クラス Object 内の toString
戻り値:
このオブジェクトの文字列表現

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。