Idioma

Canvas.SaveLayer Método

Definição

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(RectF, Paint) isso usa as quatro coordenadas flutuantes do retângulo de limites.

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.

Java documentação para android.graphics.Canvas.saveLayer(android.graphics.RectF, android.graphics.Paint).

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.

Java documentação para android.graphics.Canvas.saveLayer(android.graphics.RectF, android.graphics.Paint, int).

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.

Java documentação para android.graphics.Canvas.saveLayer(float, float, float, float, android.graphics.Paint).

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.

Java documentação para android.graphics.Canvas.saveLayer(float, float, float, float, android.graphics.Paint, int).

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