Canvas.SaveLayer メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
| 名前 | 説明 |
|---|---|
| SaveLayer(RectF, Paint) |
これは save() と同じように動作しますが、さらに描画が割り当てられ、画面外のレンダリング ターゲットにリダイレクトされます。 |
| SaveLayer(RectF, Paint, SaveFlags) |
これは save() と同じように動作しますが、さらに描画を割り当ててオフスクリーン ビットマップにリダイレクトします。 |
| SaveLayer(Single, Single, Single, Single, Paint) |
境界四角形の 4 つの浮動小数点座標を受け取る |
| 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() が呼び出されたときにオフスクリーン レンダリング ターゲットが描画されるときに適用されます。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
適用対象
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) を代わりに使用します。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
適用対象
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) の利便性。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
適用対象
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) を代わりに使用します。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。