TextPaint クラス

定義

TextPaint は、テキストの測定と描画中に使用される追加データの余地を残すペイントの拡張機能です。

[Android.Runtime.Register("android/text/TextPaint", DoNotGenerateAcw=true)]
public class TextPaint : Android.Graphics.Paint
[<Android.Runtime.Register("android/text/TextPaint", DoNotGenerateAcw=true)>]
type TextPaint = class
    inherit Paint
継承
TextPaint
属性

注釈

TextPaint は、テキストの測定と描画中に使用される追加データの余地を残すペイントの拡張機能です。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
TextPaint()
TextPaint(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

TextPaint(Paint)
TextPaint(PaintFlags)

フィールド

名前 説明
CursorAfter
古い.

getTextRunCursor のオプション。

(継承元 Paint)
CursorAt
古い.

getTextRunCursor のオプション。

(継承元 Paint)
CursorAtOrAfter
古い.

getTextRunCursor のオプション。

(継承元 Paint)
CursorAtOrBefore
古い.

getTextRunCursor のオプション。

(継承元 Paint)
CursorBefore
古い.

getTextRunCursor のオプション。

(継承元 Paint)
EndHyphenEditInsertArmenianHyphen

行の末尾を表す整数には、アルメンティアン ハイフン (U+058A) があります。

(継承元 Paint)
EndHyphenEditInsertHyphen

行の末尾を表す整数には、通常のハイフン文字 (U+002D) があります。

(継承元 Paint)
EndHyphenEditInsertMaqaf

行の末尾を表す整数に maqaf (ヘブライハイフン、U+05BE) があります。

(継承元 Paint)
EndHyphenEditInsertUcasHyphen

行の末尾を表す整数には、カナダの音節ハイフン (U+1400) があります。

(継承元 Paint)
EndHyphenEditInsertZwjAndHyphen

行の末尾を表す整数には、ゼロWidth-Joiner (U+200D) の後に通常のハイフン文字 (U+002D) が続きます。

(継承元 Paint)
EndHyphenEditNoEdit

行の末尾を表す整数には、ハイフネーションの変更はありません。

(継承元 Paint)
EndHyphenEditReplaceWithHyphen

行の末尾の文字を表す整数は、ハイフン文字 (U+002D) に置き換えられます。

(継承元 Paint)
HintingOff
古い.

フォント ヒントを無効にするフォント ヒント オプション。

(継承元 Paint)
HintingOn
古い.

フォント ヒントを有効にするフォント ヒント オプション。

(継承元 Paint)
StartHyphenEditInsertHyphen

行の先頭を表す整数には、通常のハイフン文字 (U+002D) があります。

(継承元 Paint)
StartHyphenEditInsertZwj

行の先頭を表す整数には、0 -Width-Joiner (U+200D) があります。

(継承元 Paint)
StartHyphenEditNoEdit

行の先頭を表す整数には、ハイフネーションの変更はありません。

(継承元 Paint)
TextRunFlagLeftEdge

実行が行の視覚的に最も左のセグメントにあることを示すテキスト実行フラグ。

(継承元 Paint)
TextRunFlagRightEdge

実行が行の視覚的に最も右のセグメントにあることを示すテキスト実行フラグ。

(継承元 Paint)
VerticalTextFlag
古い.

垂直方向に書き込むテキストを制御するフラット

(継承元 Paint)

プロパティ

名前 説明
Alpha

色のアルファ値を返すだけの getColor() のヘルパー。 または、色のアルファ値のみを割り当て、その r、g、b 値は変更せずに setColor() をヘルパーします。

(継承元 Paint)
AntiAlias

getFlags() のヘルパー。ANTI_ALIAS_FLAGビットが設定されている場合に true を返します。AntiAliasing は描画対象の端を滑らかにしますが、図形の内部には影響しません。 または、setFlags() のヘルパー。ANTI_ALIAS_FLAG ビットのアンチエイリアシングを設定またはクリアすると、描画されている内容の端が滑らかになりますが、図形の内部には影響しません。

(継承元 Paint)
BaselineShift
BgColor
BlendMode

ペイントのブレンド モード オブジェクトを取得します。 または、ブレンド モードを設定またはクリアします。

(継承元 Paint)
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Color

ペイントの色を sRGB で返します。 または、ペイントの色を設定します。

(継承元 Paint)
ColorFilter

ペイントのカラーフィルターを取得します (null になる可能性があります)。

(継承元 Paint)
ColorLong

ペイントの色を返します。

(継承元 Paint)
Density
Dither

getFlags() のヘルパー。ビットがディザリングDITHER_FLAG設定されている場合に true を返すと、デバイスよりも高い精度の色がダウンサンプリングされる方法に影響します。 または、setFlags() のヘルパー、DITHER_FLAG ビットディザリングの設定またはクリアは、デバイスよりも高い精度の色をダウンサンプリングする方法に影響します。

(継承元 Paint)
DrawableState
ElegantTextHeight

エレガントなメトリック フラグを取得します。 または、ペイントのエレガントな高さのメトリック フラグを設定します。

(継承元 Paint)
EndHyphenEdit

終了ハイフン編集の現在の値を取得します。 または、ペイントの終了ハイフン編集を設定します。

(継承元 Paint)
FakeBoldText

getFlags() のヘルパー。FAKE_BOLD_TEXT_FLAG ビットが設定されている場合は true を返します。または、setFlags() のヘルパー)、FAKE_BOLD_TEXT_FLAG ビットの設定またはクリア

(継承元 Paint)
FilterBitmap

ビットマップ フィルターがアクティブ化されているかどうか。 または、setFlags() のヘルパー。FILTER_BITMAP_FLAG ビットを設定またはクリアします。

(継承元 Paint)
Flags

ペイントのフラグを返します。 または、ペイントのフラグを設定します。

(継承元 Paint)
FontFeatureSettings

フォント機能の設定を返します。 または、フォント機能の設定を行います。

(継承元 Paint)
FontSpacing

現在の書体とテキストサイズに基づいて推奨行間を返します。

(継承元 Paint)
FontVariationSettings

フォント バリエーションの設定を返します。

(継承元 Paint)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
Hinting

ペイントのヒンティング モードを返します。 または、ペイントのヒンティング モードを設定します。

(継承元 Paint)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniPeerMembers

TextPaint は、テキストの測定と描画中に使用される追加データの余地を残すペイントの拡張機能です。

LetterSpacing

テキストのペイントの文字間隔を返します。 または、テキストのペイントの文字間隔を設定します。

(継承元 Paint)
LinearText

getFlags() のヘルパー。LINEAR_TEXT_FLAG ビットが設定されている場合は true を返します。または、setFlags() のヘルパー)、LINEAR_TEXT_FLAG ビットの設定またはクリア

(継承元 Paint)
LinkColor
MaskFilter

ペイントの maskfilter オブジェクトを取得します。

(継承元 Paint)
PathEffect

ペイントの patheffect オブジェクトを取得します。

(継承元 Paint)
PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
Rasterizer
古い.

ペイントのラスタライザー (または null) を取得します。

(継承元 Paint)
Shader

ペイントのシェーダー オブジェクトを取得します。

(継承元 Paint)
ShadowLayerColor

シャドウ レイヤーの色を返します。

(継承元 Paint)
ShadowLayerColorLong

シャドウ レイヤーの色を返します。

(継承元 Paint)
ShadowLayerDx

シャドウ レイヤーの x オフセットを返します。

(継承元 Paint)
ShadowLayerDy

シャドウ レイヤーの y オフセットを返します。

(継承元 Paint)
ShadowLayerRadius

シャドウ レイヤーのぼかし半径を返します。

(継承元 Paint)
StartHyphenEdit

ハイフン編集の開始の現在の値を取得します。 または、ペイントの開始ハイフン編集を設定します。

(継承元 Paint)
StrikeThruPosition

取り消し線の上端からベースラインまでの距離 (ピクセル単位)。

(継承元 Paint)
StrikeThruText

getFlags() のヘルパー。STRIKE_THRU_TEXT_FLAG ビットが設定されている場合は true を返します。または、setFlags() のヘルパー)、STRIKE_THRU_TEXT_FLAG ビットの設定またはクリア

(継承元 Paint)
StrikeThruThickness

取り消し線の太さをピクセル単位で返します。

(継承元 Paint)
StrokeCap

ペイントのキャップを返し、ストロークされた線とパスの開始と終了の処理方法を制御します。 または、ペイントのキャップを設定します。

(継承元 Paint)
StrokeJoin

ペイントのストローク結合タイプを返します。 または、ペイントの結合を設定します。

(継承元 Paint)
StrokeMiter

ペイントのストローク マイター値を返します。 または、ペイントのストローク マイター値を設定します。

(継承元 Paint)
StrokeWidth

なでる幅を返します。 または、なでる幅を設定します。

(継承元 Paint)
SubpixelText

getFlags() のヘルパー。SUBPIXEL_TEXT_FLAG ビットが設定されている場合は true を返します。または、setFlags() のヘルパー)、SUBPIXEL_TEXT_FLAG ビットを設定またはクリアする

(継承元 Paint)
TextAlign

描画テキストのペイントの Align 値を返します。 または、ペイントのテキストの配置を設定します。

(継承元 Paint)
TextLocale

テキストのプライマリ ロケールを取得します。 または、テキスト ロケール リストを、ロケールだけで構成される 1 メンバー リストに設定します。

(継承元 Paint)
TextLocales

テキストロケールリストを取得します。 または、テキストロケールリストを設定します。

(継承元 Paint)
TextScaleX

テキストのペイントの水平スケール ファクターを返します。 または、テキストのペイントの水平スケール ファクターを設定します。

(継承元 Paint)
TextSize

ペイントのテキスト サイズを返します。 または、ペイントのテキスト サイズを設定します。

(継承元 Paint)
TextSkewX

テキストのペイントの水平スキュー係数を返します。 または、テキストのペイントの水平スキュー係数を設定します。

(継承元 Paint)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

Typeface

ペイントの書体オブジェクトを取得します。

(継承元 Paint)
UnderlineColor

特別な値 0 は、カスタムの下線がないことを意味します

UnderlinePosition

下線の上端からベースラインまでの距離をピクセル単位で返します。

(継承元 Paint)
UnderlineText

getFlags() のヘルパー。UNDERLINE_TEXT_FLAG ビットが設定されている場合は true を返し、setFlags() のヘルパーは、UNDERLINE_TEXT_FLAG ビットを設定またはクリアします

(継承元 Paint)
UnderlineThickness

下線の太さをピクセル単位で返します。

(継承元 Paint)
WordSpacing

テキストの描画の余分な単語間隔を返します。 または、テキストのペイントの余分な単語間隔を設定します。

(継承元 Paint)
Xfermode

ペイントの転送モード オブジェクトを取得します。

(継承元 Paint)

メソッド

名前 説明
Ascent()

現在の書体とテキスト サイズに基づいてベースライン (上昇) の上 (負) の距離を返します。

(継承元 Paint)
BreakText(Char[], Int32, Int32, Single, Single[])

測定された幅が maxWidth を超えた場合は、テキストを早めに停止して測定します。

(継承元 Paint)
BreakText(ICharSequence, Int32, Int32, Boolean, Single, Single[])

測定された幅が maxWidth を超えた場合は、テキストを早めに停止して測定します。

(継承元 Paint)
BreakText(String, Boolean, Single, Single[])

測定された幅が maxWidth を超えた場合は、テキストを早めに停止して測定します。

(継承元 Paint)
BreakText(String, Int32, Int32, Boolean, Single, Single[])

測定された幅が maxWidth を超えた場合は、テキストを早めに停止して測定します。

(継承元 Paint)
ClearShadowLayer()

シャドウ レイヤーをクリアします。

(継承元 Paint)
Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Descent()

現在の書体とテキスト サイズに基づいて、ベースライン (降下) の下 (正) の距離を返します。

(継承元 Paint)
Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
EqualsForTextMeasurement(Paint)

渡された Paint の true を返します。テキストの測定にも同じ効果があります。

(継承元 Paint)
GetFillPath(Path, Path)

すべての効果 (patheffect、なでる) を src に適用し、結果を dst で返します。

(継承元 Paint)
GetFontMetrics()

新しい FontMetrics オブジェクトを割り当て、getFontMetrics(fm) を呼び出してオブジェクトを返します。

(継承元 Paint)
GetFontMetrics(Paint+FontMetrics)

新しい FontMetrics オブジェクトを割り当て、getFontMetrics(fm) を呼び出してオブジェクトを返します。

(継承元 Paint)
GetFontMetricsForLocale(Paint+FontMetrics)

TextPaint は、テキストの測定と描画中に使用される追加データの余地を残すペイントの拡張機能です。

(継承元 Paint)
GetFontMetricsInt()

書体、textSize などのペイントの設定を指定して、フォントの行間の間隔を返します。

(継承元 Paint)
GetFontMetricsInt(Char[], Int32, Int32, Int32, Int32, Boolean, Paint+FontMetricsInt)

TextPaint は、テキストの測定と描画中に使用される追加データの余地を残すペイントの拡張機能です。

(継承元 Paint)
GetFontMetricsInt(ICharSequence, Int32, Int32, Int32, Int32, Boolean, Paint+FontMetricsInt)

TextPaint は、テキストの測定と描画中に使用される追加データの余地を残すペイントの拡張機能です。

(継承元 Paint)
GetFontMetricsInt(Paint+FontMetricsInt)

書体、textSize などのペイントの設定を指定して、フォントの行間の間隔を返します。

(継承元 Paint)
GetFontMetricsInt(String, Int32, Int32, Int32, Int32, Boolean, Paint+FontMetricsInt)

TextPaint は、テキストの測定と描画中に使用される追加データの余地を残すペイントの拡張機能です。

(継承元 Paint)
GetFontMetricsIntForLocale(Paint+FontMetricsInt)

TextPaint は、テキストの測定と描画中に使用される追加データの余地を残すペイントの拡張機能です。

(継承元 Paint)
GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
GetOffsetForAdvance(Char[], Int32, Int32, Int32, Int32, Boolean, Single)

指定した水平位置に最も近い位置にある文字列内の文字オフセットを取得します。

(継承元 Paint)
GetOffsetForAdvance(ICharSequence, Int32, Int32, Int32, Int32, Boolean, Single)

TextPaint は、テキストの測定と描画中に使用される追加データの余地を残すペイントの拡張機能です。

(継承元 Paint)
GetOffsetForAdvance(String, Int32, Int32, Int32, Int32, Boolean, Single)

指定した進値に対応する文字オフセットを返します。

(継承元 Paint)
GetRunAdvance(Char[], Int32, Int32, Int32, Int32, Boolean, Int32)

テキストの実行内のカーソル位置を測定します。

(継承元 Paint)
GetRunAdvance(ICharSequence, Int32, Int32, Int32, Int32, Boolean, Int32)

TextPaint は、テキストの測定と描画中に使用される追加データの余地を残すペイントの拡張機能です。

(継承元 Paint)
GetRunAdvance(String, Int32, Int32, Int32, Int32, Boolean, Int32)

開始とオフセットの間の幅の測定値を返します。

(継承元 Paint)
GetRunCharacterAdvance(Char[], Int32, Int32, Int32, Int32, Boolean, Int32, Single[], Int32)

テキストの実行内の各文字の進みを測定し、実行内のカーソル位置も返します。

(継承元 Paint)
GetRunCharacterAdvance(ICharSequence, Int32, Int32, Int32, Int32, Boolean, Int32, Single[], Int32)

TextPaint は、テキストの測定と描画中に使用される追加データの余地を残すペイントの拡張機能です。

(継承元 Paint)
GetRunCharacterAdvance(String, Int32, Int32, Int32, Int32, Boolean, Int32, Single[], Int32)

開始とオフセットの間の幅の測定を返します。進む配列は、計算された文字の進み方を受け取ります。

(継承元 Paint)
GetStyle()

プリミティブのジオメトリの解釈方法を制御するために使用されるペイントのスタイルを返します (常にFILL_STYLEを前提とする drawBitmap を除きます)。

(継承元 Paint)
GetTextBounds(Char[], Int32, Int32, Rect)

(呼び出し元によって割り当てられた) すべての文字を囲む最小の四角形を、暗黙の原点 (0,0) で返します。

(継承元 Paint)
GetTextBounds(ICharSequence, Int32, Int32, Rect)

テキスト境界ボックスを取得し、境界に格納します。

(継承元 Paint)
GetTextBounds(String, Int32, Int32, Rect)

テキスト境界ボックスを取得し、境界に格納します。

(継承元 Paint)
GetTextPath(Char[], Int32, Int32, Single, Single, Path)

指定したテキストのパス (アウトライン) を返します。

(継承元 Paint)
GetTextPath(String, Int32, Int32, Single, Single, Path)

指定したテキストのパス (アウトライン) を返します。

(継承元 Paint)
GetTextRunAdvances(Char[], Int32, Int32, Int32, Int32, Boolean, Single[], Int32)

テキストの文字の進み方を取得します。

(継承元 Paint)
GetTextRunCursor(Char[], Int32, Int32, Boolean, Int32, Int32)

実行内の次のカーソル位置を返します。

(継承元 Paint)
GetTextRunCursor(ICharSequence, Int32, Int32, Boolean, Int32, Int32)

実行内の次のカーソル位置を返します。

(継承元 Paint)
GetTextRunCursor(String, Int32, Int32, Boolean, Int32, Int32)

実行内の次のカーソル位置を返します。

(継承元 Paint)
GetTextWidths(Char[], Int32, Int32, Single[])

文字列内の文字の前の幅を返します。

(継承元 Paint)
GetTextWidths(ICharSequence, Int32, Int32, Single[])

文字列内の文字の前の幅を返します。

(継承元 Paint)
GetTextWidths(String, Int32, Int32, Single[])

文字列内の文字の前の幅を返します。

(継承元 Paint)
GetTextWidths(String, Single[])

文字列内の文字の前の幅を返します。

(継承元 Paint)
HasGlyph(String)

ペイント上の書体セットに文字列をサポートするグリフがあるかどうかを判断します。

(継承元 Paint)
JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
MeasureText(Char[], Int32, Int32)

テキストの幅を返します。

(継承元 Paint)
MeasureText(ICharSequence, Int32, Int32)

テキストの幅を返します。

(継承元 Paint)
MeasureText(String, Int32, Int32)

テキストの幅を返します。

(継承元 Paint)
MeasureText(String)

テキストの幅を返します。

(継承元 Paint)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
Reset()

ペイントを既定の設定に戻します。

(継承元 Paint)
Set(Paint)

src のフィールドをこのペイントにコピーします。

(継承元 Paint)
Set(TextPaint)

Tp からこの TextPaint にフィールドをコピーします。これには、Paint から継承されたフィールドも含まれます。

SetARGB(Int32, Int32, Int32, Int32)

a,r,g,b を受け取り、色 int を構築する setColor() のヘルパー

(継承元 Paint)
SetColor(Int64)

ColorLongでペイントの色を設定します。

(継承元 Paint)
SetColorFilter(ColorFilter)

ペイントのカラーフィルターを設定またはクリアし、パラメーターを返します。

(継承元 Paint)
SetFontVariationSettings(String)

TrueType または OpenType フォント バリエーションの設定を設定します。

(継承元 Paint)
SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetMaskFilter(MaskFilter)

maskfilter オブジェクトを設定またはクリアします。

(継承元 Paint)
SetPathEffect(PathEffect)

patheffect オブジェクトを設定またはクリアします。

(継承元 Paint)
SetRasterizer(Rasterizer)
古い.

ラスタライザー オブジェクトを設定またはクリアします。

(継承元 Paint)
SetShader(Shader)

シェーダー オブジェクトを設定またはクリアします。

(継承元 Paint)
SetShadowLayer(Single, Single, Single, Color)

これにより、指定したオフセットと色、およびぼかし半径を使用して、メイン レイヤーの下にシャドウ レイヤーが描画されます。

(継承元 Paint)
SetShadowLayer(Single, Single, Single, Int64)

これにより、指定したオフセットと色、およびぼかし半径を使用して、メイン レイヤーの下にシャドウ レイヤーが描画されます。

(継承元 Paint)
SetStyle(Paint+Style)

プリミティブのジオメトリの解釈方法を制御するために使用するペイントのスタイルを設定します (常に Fill を想定する drawBitmap を除く)。

(継承元 Paint)
SetTypeface(Typeface)

タイプフェイス オブジェクトを設定またはクリアします。

(継承元 Paint)
SetXfermode(Xfermode)

転送モード オブジェクトを設定またはクリアします。

(継承元 Paint)
ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

このマネージド ピアが破棄されたことを相互運用ランタイムに通知します。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

別のマネージド参照によって保持されない限り、このJavaピアを解放します。

(継承元 Object)
IJavaPeerable.Finalized()

このマネージド ピアが終了したことを相互運用ランタイムに通知します。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

このマネージド ピアとその JNI 参照の間の関係を記述する状態を取得します。

(継承元 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

このJava ピアの相互運用 ID ハッシュ コードを設定します。

(継承元 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

このJava ピアのマネージド ピアと JNI ピアの状態を設定します。

(継承元 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

このマネージド ピアで使用される JNI オブジェクト参照を設定します。

(継承元 Object)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

TextPaint は、テキストの測定と描画中に使用される追加データの余地を残すペイントの拡張機能です。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象