Canvas.SaveLayer Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
| Nome | Description |
|---|---|
| SaveLayer(RectF, Paint) |
Isso se comporta da mesma forma que salvar(), mas, além disso, aloca e redireciona o desenho para um destino de renderização fora da tela. |
| SaveLayer(RectF, Paint, SaveFlags) |
Isso se comporta da mesma forma que salvar(), mas, além disso, aloca e redireciona o desenho para um bitmap fora da tela. |
| SaveLayer(Single, Single, Single, Single, Paint) |
A conveniência para |
| SaveLayer(Single, Single, Single, Single, Paint, SaveFlags) |
Versão auxiliar do saveLayer() que usa 4 valores em vez de um RectF. |
SaveLayer(RectF, Paint)
Isso se comporta da mesma forma que salvar(), mas, além disso, aloca e redireciona o desenho para um destino de renderização fora da tela.
[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
Parâmetros
- bounds
- RectF
Pode ser nulo. O tamanho máximo que o destino de renderização fora da tela precisa ser (em coordenadas locais)
- paint
- Paint
Isso é copiado e aplicado à tela offscreen quando restore() é chamado.
Retornos
valor a ser passado para restoreToCount() para equilibrar este save()
- Atributos
Comentários
Isso se comporta da mesma forma que salvar(), mas, além disso, aloca e redireciona o desenho para um destino de renderização fora da tela.
<Observação forte>:</strong> esse método é muito caro, incorrendo em mais do que o custo de renderização duplo para o conteúdo contido. Evite usar esse método quando possível e, em vez disso, use um android.view.View#LAYER_TYPE_HARDWARE hardware layer modo de exibição para aplicar um xfermode, filtro de cores ou alfa, pois ele terá um desempenho muito melhor do que esse método.
Todas as chamadas de desenho são direcionadas para um destino de renderização fora da tela recém-alocado. Somente quando a chamada de balanceamento para restore() é feita, é que o buffer offscreen é atraído de volta para o destino atual da Tela (que pode ser potencialmente uma camada anterior se essas chamadas estiverem aninhadas).
Atributos do Paint – Paint#getAlpha() alphae Paint#getXfermode() XfermodePaint#getColorFilter() ColorFilter são aplicados quando o destino de renderização fora da tela é desenhado novamente quando restore() é chamado.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Aplica-se a
SaveLayer(RectF, Paint, SaveFlags)
Isso se comporta da mesma forma que salvar(), mas, além disso, aloca e redireciona o desenho para um bitmap fora da tela.
[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
Parâmetros
- bounds
- RectF
Pode ser nulo. O tamanho máximo que o bitmap fora da tela precisa ser (em coordenadas locais)
- paint
- Paint
Isso é copiado e aplicado à tela offscreen quando restore() é chamado.
- saveFlags
- SaveFlags
consulte _SAVE_FLAG constantes, geralmente #ALL_SAVE_FLAG é recomendado por motivos de desempenho.
Retornos
valor a ser passado para restoreToCount() para equilibrar este save()
- Atributos
Comentários
Isso se comporta da mesma forma que salvar(), mas, além disso, aloca e redireciona o desenho para um bitmap fora da tela.
<Observação forte>:</strong> esse método é muito caro, incorrendo em mais do que o custo de renderização duplo para o conteúdo contido. Evite usar esse método, especialmente se os limites fornecidos forem grandes. É recomendável usar um android.view.View#LAYER_TYPE_HARDWARE hardware layer modo de exibição para aplicar um xfermode, filtro de cores ou alfa, pois ele terá um desempenho muito melhor do que esse método.
Todas as chamadas de desenho são direcionadas para um bitmap offscreen recém-alocado. Somente quando a chamada de balanceamento para restore() é feita, é que o buffer fora da tela é desenhado de volta para o destino atual da Tela (seja a tela, o Bitmap de destino ou a camada anterior).
Atributos do Paint – Paint#getAlpha() alphae Paint#getXfermode() XfermodePaint#getColorFilter() ColorFilter são aplicados quando o bitmap fora da tela é desenhado novamente quando restore() é chamado.
A partir do nível da API de Nível Build.VERSION_CODES#P de API, o único válido saveFlags é #ALL_SAVE_FLAG. Todos os outros sinalizadores são ignorados.
Este membro foi preterido. Use #saveLayer(RectF, Paint) em seu lugar.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Aplica-se a
SaveLayer(Single, Single, Single, Single, Paint)
A conveniência para #saveLayer(RectF, Paint) isso usa as quatro coordenadas flutuantes do retângulo de limites.
[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
Parâmetros
- left
- Single
- top
- Single
- right
- Single
- bottom
- Single
- paint
- Paint
Retornos
- Atributos
Comentários
A conveniência para #saveLayer(RectF, Paint) isso usa as quatro coordenadas flutuantes do retângulo de limites.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Aplica-se a
SaveLayer(Single, Single, Single, Single, Paint, SaveFlags)
Versão auxiliar do saveLayer() que usa 4 valores em vez de um RectF.
[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
Parâmetros
- left
- Single
- top
- Single
- right
- Single
- bottom
- Single
- paint
- Paint
- saveFlags
- SaveFlags
O valor é 0 ou ALL_SAVE_FLAG
Retornos
- Atributos
Comentários
Versão auxiliar do saveLayer() que usa 4 valores em vez de um RectF.
A partir do nível da API de Nível Build.VERSION_CODES#P de API, o único válido saveFlags é #ALL_SAVE_FLAG. Todos os outros sinalizadores são ignorados.
Este membro foi preterido. Use #saveLayer(float, float, float, float, Paint) em seu lugar.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.