Language

Canvas.SaveLayer メソッド

定義

オーバーロード

名前 説明
SaveLayer(RectF, Paint)

これは save() と同じように動作しますが、さらに描画が割り当てられ、画面外のレンダリング ターゲットにリダイレクトされます。

SaveLayer(RectF, Paint, SaveFlags)

これは save() と同じように動作しますが、さらに描画を割り当ててオフスクリーン ビットマップにリダイレクトします。

SaveLayer(Single, Single, Single, Single, Paint)

境界四角形の 4 つの浮動小数点座標を受け取る #saveLayer(RectF, Paint) の利便性。

SaveLayer(Single, Single, Single, Single, Paint, SaveFlags)

RectF ではなく 4 つの値を受け取る saveLayer() のヘルパー バージョン。

SaveLayer(RectF, Paint)

これは save() と同じように動作しますが、さらに描画が割り当てられ、画面外のレンダリング ターゲットにリダイレクトされます。

[Android.Runtime.Register("saveLayer", "(Landroid/graphics/RectF;Landroid/graphics/Paint;)I", "GetSaveLayer_Landroid_graphics_RectF_Landroid_graphics_Paint_Handler")]
public virtual int SaveLayer(Android.Graphics.RectF? bounds, Android.Graphics.Paint? paint);
[<Android.Runtime.Register("saveLayer", "(Landroid/graphics/RectF;Landroid/graphics/Paint;)I", "GetSaveLayer_Landroid_graphics_RectF_Landroid_graphics_Paint_Handler")>]
abstract member SaveLayer : Android.Graphics.RectF * Android.Graphics.Paint -> int
override this.SaveLayer : Android.Graphics.RectF * Android.Graphics.Paint -> int

パラメーター

bounds
RectF

null を指定できます。 オフスクリーン レンダー ターゲットが必要な最大サイズ (ローカル座標)

paint
Paint

これはコピーされ、restore() が呼び出されたときにオフスクリーンに適用されます。

返品

この save() のバランスを取るために restoreToCount() に渡す値

属性

注釈

これは save() と同じように動作しますが、さらに描画が割り当てられ、画面外のレンダリング ターゲットにリダイレクトされます。

<strong>Note:</strong> この方法は非常にコストがかかり、含まれているコンテンツに対して 2 倍以上のレンダリング コストが発生します。 可能な場合は、このメソッドを使用しないでください。代わりに、ビューで android.view.View#LAYER_TYPE_HARDWARE hardware layer を使用して、xfermode、カラー フィルター、アルファを適用します。これは、このメソッドよりもはるかに優れたパフォーマンスを発揮するためです。

すべての描画呼び出しは、新しく割り当てられたオフスクリーン レンダリング ターゲットに送られます。 restore() の分散呼び出しが行われた場合にのみ、オフスクリーン バッファーが Canvas の現在のターゲットに描画されます (これらの呼び出しが入れ子になっている場合は、以前のレイヤーになる可能性があります)。

ペイント - Paint#getAlpha() alpha、 Paint#getXfermode() Xfermode、および Paint#getColorFilter() ColorFilter の属性は、restore() が呼び出されたときにオフスクリーン レンダリング ターゲットが描画されるときに適用されます。

Javaドキュメント。

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

適用対象

SaveLayer(RectF, Paint, SaveFlags)

これは save() と同じように動作しますが、さらに描画を割り当ててオフスクリーン ビットマップにリダイレクトします。

[Android.Runtime.Register("saveLayer", "(Landroid/graphics/RectF;Landroid/graphics/Paint;I)I", "GetSaveLayer_Landroid_graphics_RectF_Landroid_graphics_Paint_IHandler")]
public virtual int SaveLayer(Android.Graphics.RectF? bounds, Android.Graphics.Paint? paint, Android.Graphics.SaveFlags saveFlags);
[<Android.Runtime.Register("saveLayer", "(Landroid/graphics/RectF;Landroid/graphics/Paint;I)I", "GetSaveLayer_Landroid_graphics_RectF_Landroid_graphics_Paint_IHandler")>]
abstract member SaveLayer : Android.Graphics.RectF * Android.Graphics.Paint * Android.Graphics.SaveFlags -> int
override this.SaveLayer : Android.Graphics.RectF * Android.Graphics.Paint * Android.Graphics.SaveFlags -> int

パラメーター

bounds
RectF

null を指定できます。 オフスクリーン ビットマップが必要な最大サイズ (ローカル座標)

paint
Paint

これはコピーされ、restore() が呼び出されたときにオフスクリーンに適用されます。

saveFlags
SaveFlags

_SAVE_FLAG定数を参照してください。通常、パフォーマンス上の理由から #ALL_SAVE_FLAG をお勧めします。

返品

この save() のバランスを取るために restoreToCount() に渡す値

属性

注釈

これは save() と同じように動作しますが、さらに描画を割り当ててオフスクリーン ビットマップにリダイレクトします。

<strong>Note:</strong> この方法は非常にコストがかかり、含まれているコンテンツに対して 2 倍以上のレンダリング コストが発生します。 指定された境界が大きい場合は特に、このメソッドを使用しないでください。 ビューで android.view.View#LAYER_TYPE_HARDWARE hardware layer を使用して、xfermode、カラー フィルター、またはアルファを適用することをお勧めします。これは、この方法よりもはるかに優れたパフォーマンスを発揮するためです。

すべての描画呼び出しは、新しく割り当てられたオフスクリーン ビットマップに転送されます。 restore() の分散呼び出しが行われた場合にのみ、オフスクリーン バッファーがキャンバスの現在のターゲット (画面、ターゲット ビットマップ、または前のレイヤー) に描画されます。

ペイント - Paint#getAlpha() alpha、 Paint#getXfermode() Xfermode、および Paint#getColorFilter() ColorFilter の属性は、restore() が呼び出されたときにオフスクリーン ビットマップが描画されるときに適用されます。

API レベルの API レベル Build.VERSION_CODES#P 有効な saveFlags は #ALL_SAVE_FLAGのみです。 その他のフラグはすべて無視されます。

このメンバーは非推奨です。 #saveLayer(RectF, Paint) を代わりに使用します。

Javaドキュメント。

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

適用対象

SaveLayer(Single, Single, Single, Single, Paint)

境界四角形の 4 つの浮動小数点座標を受け取る #saveLayer(RectF, Paint) の利便性。

[Android.Runtime.Register("saveLayer", "(FFFFLandroid/graphics/Paint;)I", "GetSaveLayer_FFFFLandroid_graphics_Paint_Handler")]
public virtual int SaveLayer(float left, float top, float right, float bottom, Android.Graphics.Paint? paint);
[<Android.Runtime.Register("saveLayer", "(FFFFLandroid/graphics/Paint;)I", "GetSaveLayer_FFFFLandroid_graphics_Paint_Handler")>]
abstract member SaveLayer : single * single * single * single * Android.Graphics.Paint -> int
override this.SaveLayer : single * single * single * single * Android.Graphics.Paint -> int

パラメーター

left
Single
top
Single
right
Single
bottom
Single
paint
Paint

返品

属性

注釈

境界四角形の 4 つの浮動小数点座標を受け取る #saveLayer(RectF, Paint) の利便性。

Javaドキュメント。

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

適用対象

SaveLayer(Single, Single, Single, Single, Paint, SaveFlags)

RectF ではなく 4 つの値を受け取る saveLayer() のヘルパー バージョン。

[Android.Runtime.Register("saveLayer", "(FFFFLandroid/graphics/Paint;I)I", "GetSaveLayer_FFFFLandroid_graphics_Paint_IHandler")]
public virtual int SaveLayer(float left, float top, float right, float bottom, Android.Graphics.Paint? paint, Android.Graphics.SaveFlags saveFlags);
[<Android.Runtime.Register("saveLayer", "(FFFFLandroid/graphics/Paint;I)I", "GetSaveLayer_FFFFLandroid_graphics_Paint_IHandler")>]
abstract member SaveLayer : single * single * single * single * Android.Graphics.Paint * Android.Graphics.SaveFlags -> int
override this.SaveLayer : single * single * single * single * Android.Graphics.Paint * Android.Graphics.SaveFlags -> int

パラメーター

left
Single
top
Single
right
Single
bottom
Single
paint
Paint
saveFlags
SaveFlags

値が 0 またはALL_SAVE_FLAG

返品

属性

注釈

RectF ではなく 4 つの値を受け取る saveLayer() のヘルパー バージョン。

API レベルの API レベル Build.VERSION_CODES#P 有効な saveFlags は #ALL_SAVE_FLAGのみです。 その他のフラグはすべて無視されます。

このメンバーは非推奨です。 #saveLayer(float, float, float, float, Paint) を代わりに使用します。

Javaドキュメント。

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

適用対象