SKCanvas Classe

Definição

Encapsula todo o estado sobre o desenho em um dispositivo (bitmap ou superfície).

public class SKCanvas : SkiaSharp.SKObject
Herança
Derivado

Exemplos

var info = new SKImageInfo(640, 480);
using (var surface = SKSurface.Create(info)) {
    SKCanvas canvas = surface.Canvas;

    canvas.Clear(SKColors.White);

    // set up drawing tools
    var paint = new SKPaint {
        IsAntialias = true,
        Color = new SKColor(0x2c, 0x3e, 0x50),
        StrokeCap = SKStrokeCap.Round
    };

    // create the Xamagon path
    var path = new SKPath();
    path.MoveTo(71.4311121f, 56f);
    path.CubicTo(68.6763107f, 56.0058575f, 65.9796704f, 57.5737917f, 64.5928855f, 59.965729f);
    path.LineTo(43.0238921f, 97.5342563f);
    path.CubicTo(41.6587026f, 99.9325978f, 41.6587026f, 103.067402f, 43.0238921f, 105.465744f);
    path.LineTo(64.5928855f, 143.034271f);
    path.CubicTo(65.9798162f, 145.426228f, 68.6763107f, 146.994582f, 71.4311121f, 147f);
    path.LineTo(114.568946f, 147f);
    path.CubicTo(117.323748f, 146.994143f, 120.020241f, 145.426228f, 121.407172f, 143.034271f);
    path.LineTo(142.976161f, 105.465744f);
    path.CubicTo(144.34135f, 103.067402f, 144.341209f, 99.9325978f, 142.976161f, 97.5342563f);
    path.LineTo(121.407172f, 59.965729f);
    path.CubicTo(120.020241f, 57.5737917f, 117.323748f, 56.0054182f, 114.568946f, 56f);
    path.LineTo(71.4311121f, 56f);
    path.Close();

    // draw the Xamagon path
    canvas.DrawPath(path, paint);
}

Comentários

Uma tela encapsula todo o estado sobre o desenho em um dispositivo (bitmap ou superfície).

Isso inclui uma referência ao próprio dispositivo e uma pilha de valores de matriz/clipe. Para qualquer chamada de desenho determinada (por exemplo, DrawRect), a geometria do objeto que está sendo desenhado é transformada pela concatenação de todas as matrizes na pilha. A geometria transformada é recortada pela interseção de todos os clipes na pilha.

Enquanto a tela mantém o estado do dispositivo de desenho, o estado (estilo) do objeto que está sendo desenhado é mantido pela tinta, que é fornecida como um parâmetro para cada um dos métodos "Draw". A tinta contém atributos como cor, typeface, o tamanho do texto, a largura do traço, o sombreador (por exemplo, gradientes, padrões), etc.

A tela é retornada ao acessar a SKSurface.Canvas propriedade de uma superfície.

Construction

SkiaSharp tem vários back-ends que recebem SKCanvas comandos de desenho, incluindo:

  • Raster Surface
  • Surface de GPU
  • Documento PDF
  • Documento XPS (experimental)
  • Tela SVG (experimental)
  • Imagem
  • Tela Nula (para teste)

Construindo um raster Surface

O back-end do raster se desenha em um bloco de memória. Essa memória pode ser gerenciada pelo SkiaSharp ou pelo cliente.

A maneira recomendada de criar uma tela para os back-ends de Raster e Ganesh é usar um SKSurfaceobjeto que gerencia a memória na qual os comandos de tela são desenhados.

// define the surface properties
var info = new SKImageInfo(256, 256);

// construct a new surface
var surface = SKSurface.Create(info);

// get the canvas from the surface
var canvas = surface.Canvas;

// draw on the canvas ...

Como alternativa, poderíamos ter especificado a memória da superfície explicitamente, em vez de pedir a SkiaSharp para gerenciá-la.

// define the surface properties
var info = new SKImageInfo(256, 256);

// allocate memory
var memory = Marshal.AllocCoTaskMem(info.BytesSize);

// construct a surface around the existing memory
var surface = SKSurface.Create(info, memory, info.RowBytes);

// get the canvas from the surface
var canvas = surface.Canvas;

// draw on the canvas ...

Construindo um Surface de GPU

As superfícies de GPU devem ter um GRContext objeto que gerencie o contexto de GPU e caches relacionados para texturas e fontes.

GRContext os objetos são correspondidos um a um com contextos OpenGL ou dispositivos Vulkan. Ou seja, todas as SKSurface instâncias que serão renderizadas para usar o mesmo contexto OpenGL ou dispositivo Vulkan devem compartilhar um GRContext.

O SkiaSharp não cria um contexto OpenGL ou um dispositivo Vulkan para você. No modo OpenGL, ele também pressupõe que o contexto OpenGL correto tenha sido atualizado para o thread atual quando as chamadas skiaSharp são feitas.

// an OpenGL context must be created and set as current

// define the surface properties
var info = new SKImageInfo(256, 256);

// create the surface
var context = GRContext.CreateGl();
var surface = SKSurface.Create(context, false, info);

// get the canvas from the surface
var canvas = surface.Canvas;

// draw on the canvas ...

Construindo um documento PDF

O back-end pdf usa SKDocument em vez de SKSurface, uma vez que um documento deve incluir várias páginas.

// create the document
var stream = SKFileWStream.OpenStream("document.pdf");
var document = SKDocument.CreatePdf(stream);

// get the canvas from the page
var canvas = document.BeginPage(256, 256);

// draw on the canvas ...

// end the page and document
document.EndPage();
document.Close();

Construir um documento XPS (experimental)

O back-end XPS usa SKDocument em vez de SKSurface, uma vez que um documento deve incluir várias páginas.

// create the document
var stream = SKFileWStream.OpenStream("document.xps");
var document = SKDocument.CreateXps(stream);

// get the canvas from the page
var canvas = document.BeginPage(256, 256);

// draw on the canvas ...

// end the page and document
document.EndPage();
document.Close();

Construindo uma tela SVG (experimental)

O back-end SVG usa SKSvgCanvas.

// create the canvas
var stream = SKFileWStream.OpenStream("image.svg");
var writer = new SKXmlStreamWriter(stream);
var canvas = SKSvgCanvas.Create(SKRect.Create(256, 256), writer);

// draw on the canvas ...

Construindo uma imagem

O back-end XPS usa SKPictureRecorder em vez de SKSurface.

// create the picture recorder
var recorder = new SKPictureRecorder();

// get the canvas from the page
var canvas = recorder.BeginRecording(SKRect.Create(256, 256));

// draw on the canvas ...

// finish recording
var picture = recorder.EndRecording();

Construindo uma tela nula (para teste)

A tela nula é uma tela que ignora todos os comandos de desenho e não faz nada.

// create the dummy canvas
var canvas = new SKNoDrawCanvas(256, 256);

// draw on the canvas ...

Transformações

A tela dá suporte a várias transformações 2D. Ao contrário de outros sistemas gráficos 2D, como CoreGraphics ou Cairo, o SKCanvas estende as transformações para incluir perspectivas.

Você pode usar o Scale, , Skew, RotateDegreesTranslateRotateRadians para executar algumas das transformações 2D mais comuns.

Para obter mais controle, você pode usar para SetMatrix definir uma transformação arbitrária usando e SKMatrixConcat concatenar uma SKMatrix transformação para a matriz atual em uso.

O ResetMatrix pode ser usado para redefinir o estado da matriz.

Desenho

As operações de desenho podem usar um SKPaint parâmetro para afetar o desenho. Você usa SKPaint objetos para armazenar em cache as informações de estilo e cor para desenhar geometrias, textos e bitmaps.

Recorte e estado

É possível salvar as transformações atuais chamando o Save método que preserva a matriz de transformação atual. Em seguida, você pode alterar a matriz e restaurar o estado anterior usando os métodos ou RestoreToCount os Restore métodos.

Além disso, é possível enviar por push um novo estado com SaveLayer o qual fará uma cópia offscreen de uma região e, depois que o desenho for concluído, chamar o Restore() método que copia o bitmap fora da tela para essa tela.

Construtores

Nome Description
SKCanvas(SKBitmap)

Cria uma tela com o bitmap especificado para desenhar.

Propriedades

Nome Description
Context

Obtém o contexto de gravação de GPU associado a essa tela.

DeviceClipBounds

Obtém os limites do clipe atual (nas coordenadas do dispositivo).

Handle

Obtém ou define o identificador para o objeto nativo subjacente.

(Herdado de SKObject)
IgnorePublicDispose

Obtém um valor que indica se a chamada ao público Dispose() deve ser no-op.

(Herdado de SKNativeObject)
IsClipEmpty

Obtém um valor que indica se o clipe atual está vazio.

IsClipRect

Obtém um valor que indica se o clipe atual é um retângulo.

IsDisposed

Obtém um valor que indica se o objeto já foi descartado.

(Herdado de SKNativeObject)
LocalClipBounds

Obtém os limites do clipe atual (em coordenadas locais).

OwnsHandle

Obtém ou define um valor que indica se esse objeto possui seu identificador e deve destruir o objeto nativo quando ele é descartado.

(Herdado de SKNativeObject)
SaveCount

Obtém o número de estados de matriz/clipe na pilha privada da tela.

Surface

Obtém a superfície associada a essa tela.

TotalMatrix

Obtém a matriz atual na tela.

TotalMatrix44

Obtém a matriz de transformação 4x4 atual na tela.

Métodos

Nome Description
Clear()

Substitui todos os pixels no clipe atual da tela pela Empty cor.

Clear(SKColor)

Substitui todos os pixels no clipe atual da tela pela cor especificada.

Clear(SKColorF)

Preenche toda a tela com a cor especificada.

ClipPath(SKPath, SKClipOperation, Boolean)

Modifique o clipe atual com o caminho especificado.

ClipRect(SKRect, SKClipOperation, Boolean)

Modifique o clipe atual com o retângulo especificado.

ClipRegion(SKRegion, SKClipOperation)

Modifique o clipe atual com a região especificada.

ClipRoundRect(SKRoundRect, SKClipOperation, Boolean)

Modifique o clipe atual com o retângulo arredondado especificado.

Concat(SKMatrix)

Concatena previamente a matriz de transformação fornecida com a matriz de transformação atual.

Concat(SKMatrix44)

Concatena previamente a matriz atual com a matriz 4x4 especificada.

Discard()

Torna o conteúdo da tela indefinido.

Dispose()

Libera todos os recursos usados por isso SKNativeObject.

(Herdado de SKNativeObject)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo SKCanvas e, opcionalmente, libera os recursos gerenciados.

DisposeInternal()

Dispara um descarte, ignorando o valor de IgnorePublicDispose.

(Herdado de SKNativeObject)
DisposeManaged()

Implementado por tipos derivados SKObject para destruir quaisquer objetos gerenciados.

(Herdado de SKObject)
DisposeNative()

Implementado por tipos derivados SKObject para destruir objetos nativos.

DisposeUnownedManaged()

Implementado por tipos derivados SKObject para descartar objetos gerenciados que não pertencem a essa instância.

(Herdado de SKObject)
DrawAnnotation(SKRect, String, SKData)

Envie uma "anotação" de par chave/valor para a tela.

DrawArc(SKRect, Single, Single, Boolean, SKPaint)

Desenha um arco na tela.

DrawAtlas(SKImage, SKRect[], SKRotationScaleMatrix[], SKColor[], SKBlendMode, SKPaint)
Obsoleto.

Desenha um conjunto de sprites de uma imagem atlas com mesclagem de cores.

DrawAtlas(SKImage, SKRect[], SKRotationScaleMatrix[], SKColor[], SKBlendMode, SKRect, SKPaint)
Obsoleto.

Desenha um conjunto de sprites de uma imagem atlas com suporte de abate.

DrawAtlas(SKImage, SKRect[], SKRotationScaleMatrix[], SKColor[], SKBlendMode, SKSamplingOptions, SKPaint)

Desenha um conjunto de sprites de uma imagem atlas com amostragem e combinação de cores.

DrawAtlas(SKImage, SKRect[], SKRotationScaleMatrix[], SKColor[], SKBlendMode, SKSamplingOptions, SKRect, SKPaint)

Desenha um conjunto de sprites de uma imagem atlas com todas as opções.

DrawAtlas(SKImage, SKRect[], SKRotationScaleMatrix[], SKPaint)
Obsoleto.

Desenha um conjunto de sprites de uma imagem atlas com transformações.

DrawAtlas(SKImage, SKRect[], SKRotationScaleMatrix[], SKSamplingOptions, SKPaint)

Desenha um conjunto de sprites de uma imagem atlas com transformações e opções de amostragem.

DrawBitmap(SKBitmap, Single, Single, SKPaint)
Obsoleto.

Desenha um bitmap na tela.

DrawBitmap(SKBitmap, Single, Single, SKSamplingOptions, SKPaint)

Desenha um bitmap nas coordenadas especificadas usando as opções de amostragem e tinta fornecidas.

DrawBitmap(SKBitmap, SKPoint, SKPaint)
Obsoleto.

Desenha um bitmap na tela.

DrawBitmap(SKBitmap, SKPoint, SKSamplingOptions, SKPaint)

Desenha um bitmap no local especificado usando as opções de amostragem e tinta fornecidas.

DrawBitmap(SKBitmap, SKRect, SKPaint)
Obsoleto.

Desenha um bitmap na tela.

DrawBitmap(SKBitmap, SKRect, SKRect, SKPaint)
Obsoleto.

Desenha um bitmap na tela.

DrawBitmap(SKBitmap, SKRect, SKRect, SKSamplingOptions, SKPaint)

Desenha uma parte do bitmap especificado no retângulo de destino usando as opções de amostragem fornecidas.

DrawBitmap(SKBitmap, SKRect, SKSamplingOptions, SKPaint)

Desenha o bitmap especificado no retângulo de destino usando as opções de amostragem fornecidas.

DrawBitmapLattice(SKBitmap, Int32[], Int32[], SKRect, SKFilterMode, SKPaint)

Desenha um bitmap usando o dimensionamento de rede com divisões explícitas e modo de filtro.

DrawBitmapLattice(SKBitmap, Int32[], Int32[], SKRect, SKPaint)

Desenha o bitmap, estendido ou reduzido diferencialmente para caber no retângulo de destino.

DrawBitmapLattice(SKBitmap, SKLattice, SKRect, SKFilterMode, SKPaint)

Desenha um bitmap usando o dimensionamento de rede (nove patchs) com o modo de filtro especificado.

DrawBitmapLattice(SKBitmap, SKLattice, SKRect, SKPaint)

Desenha o bitmap, estendido ou reduzido diferencialmente para caber no retângulo de destino.

DrawBitmapNinePatch(SKBitmap, SKRectI, SKRect, SKFilterMode, SKPaint)

Desenha um bitmap usando o dimensionamento de nove patchs com o modo de filtro especificado.

DrawBitmapNinePatch(SKBitmap, SKRectI, SKRect, SKPaint)

Desenha o bitmap, estendido ou reduzido diferencialmente para caber no retângulo de destino.

DrawCircle(Single, Single, Single, SKPaint)

Desenha um círculo na tela.

DrawCircle(SKPoint, Single, SKPaint)

Desenha um círculo na tela.

DrawColor(SKColor, SKBlendMode)

Preenche a área de recorte atual com a cor especificada usando a cor e o modo de mistura especificados.

DrawColor(SKColorF, SKBlendMode)

Preenche toda a tela com a cor especificada usando o modo de mesclagem.

DrawDrawable(SKDrawable, Single, Single)

Desenha um desenhável na tela.

DrawDrawable(SKDrawable, SKMatrix)

Desenha um desenhável na tela.

DrawDrawable(SKDrawable, SKPoint)

Desenha um desenhável na tela.

DrawImage(SKImage, Single, Single, SKPaint)
Obsoleto.

Desenha uma imagem na tela.

DrawImage(SKImage, Single, Single, SKSamplingOptions, SKPaint)

Desenha uma imagem nas coordenadas especificadas com opções de amostragem.

DrawImage(SKImage, SKPoint, SKPaint)
Obsoleto.

Desenha uma imagem na tela.

DrawImage(SKImage, SKPoint, SKSamplingOptions, SKPaint)

Desenha uma imagem no ponto especificado com opções de amostragem.

DrawImage(SKImage, SKRect, SKPaint)
Obsoleto.

Desenha uma imagem na tela.

DrawImage(SKImage, SKRect, SKRect, SKPaint)
Obsoleto.

Desenha uma imagem na tela.

DrawImage(SKImage, SKRect, SKRect, SKSamplingOptions, SKPaint)

Desenha uma parte de uma imagem dimensionada para ajustar o retângulo de destino com opções de amostragem.

DrawImage(SKImage, SKRect, SKSamplingOptions, SKPaint)

Desenha uma imagem dimensionada para ajustar o retângulo de destino com opções de amostragem.

DrawImageLattice(SKImage, Int32[], Int32[], SKRect, SKFilterMode, SKPaint)

Desenha uma imagem usando o dimensionamento de rede com divisões explícitas e modo de filtro.

DrawImageLattice(SKImage, Int32[], Int32[], SKRect, SKPaint)

Desenha a imagem, estendida ou reduzida diferencialmente para caber no retângulo de destino.

DrawImageLattice(SKImage, SKLattice, SKRect, SKFilterMode, SKPaint)

Desenha uma imagem usando o dimensionamento de rede (nove patchs) com o modo de filtro especificado.

DrawImageLattice(SKImage, SKLattice, SKRect, SKPaint)

Desenha a imagem, estendida ou reduzida diferencialmente para caber no retângulo de destino.

DrawImageNinePatch(SKImage, SKRectI, SKRect, SKFilterMode, SKPaint)

Desenha uma imagem usando o dimensionamento de nove patchs com o modo de filtro especificado.

DrawImageNinePatch(SKImage, SKRectI, SKRect, SKPaint)

Desenha a imagem, estendida ou reduzida diferencialmente para caber no retângulo de destino.

DrawLine(Single, Single, Single, Single, SKPaint)

Desenha uma linha na tela.

DrawLine(SKPoint, SKPoint, SKPaint)

Desenha uma linha na tela.

DrawLinkDestinationAnnotation(SKRect, SKData)

Anota a tela fazendo o link do retângulo especificado para um destino nomeado (consulte DrawNamedDestinationAnnotation(SKPoint, SKData)).

DrawLinkDestinationAnnotation(SKRect, String)

Anota a tela fazendo o link do retângulo especificado para um destino nomeado (consulte DrawNamedDestinationAnnotation(SKPoint, String)).

DrawNamedDestinationAnnotation(SKPoint, SKData)

Anota a tela associando um nome ao ponto especificado (consulte DrawLinkDestinationAnnotation(SKRect, SKData)).

DrawNamedDestinationAnnotation(SKPoint, String)

Anota a tela associando um nome ao ponto especificado (consulte DrawLinkDestinationAnnotation(SKRect, String)).

DrawOval(Single, Single, Single, Single, SKPaint)

Desenha um oval na tela.

DrawOval(SKPoint, SKSize, SKPaint)

Desenha um oval na tela.

DrawOval(SKRect, SKPaint)

Desenha um oval na tela.

DrawPaint(SKPaint)

Preenche o caminho de recorte atual com a tinta especificada.

DrawPatch(SKPoint[], SKColor[], SKPoint[], SKBlendMode, SKPaint)

Desenha um patch de Coons na tela com o modo de mesclagem especificado.

DrawPatch(SKPoint[], SKColor[], SKPoint[], SKPaint)

Desenha um patch de Coons na tela.

DrawPath(SKPath, SKPaint)

Desenha um caminho na tela.

DrawPicture(SKPicture, Single, Single, SKPaint)

Desenha uma imagem na tela.

DrawPicture(SKPicture, SKMatrix, SKPaint)

Desenha uma imagem na tela.

DrawPicture(SKPicture, SKPaint)

Desenha uma imagem na tela.

DrawPicture(SKPicture, SKPoint, SKPaint)

Desenha uma imagem na tela.

DrawPoint(Single, Single, SKColor)

Desenha um ponto na tela com a cor especificada.

DrawPoint(Single, Single, SKPaint)

Desenha um ponto na tela com a cor especificada.

DrawPoint(SKPoint, SKColor)

Desenha um ponto na tela com a cor especificada.

DrawPoint(SKPoint, SKPaint)

Desenha um ponto na tela com a cor especificada.

DrawPoints(SKPointMode, SKPoint[], SKPaint)

Desenha uma matriz de pontos, linhas ou um polígono na tela, um de cada vez.

DrawRect(Single, Single, Single, Single, SKPaint)

Desenha um retângulo na tela.

DrawRect(SKRect, SKPaint)

Desenha um retângulo na tela.

DrawRegion(SKRegion, SKPaint)

Desenha a estrutura de tópicos da região especificada usando a tinta especificada.

DrawRoundRect(Single, Single, Single, Single, Single, Single, SKPaint)

Desenha um retângulo arredondado na tela.

DrawRoundRect(SKRect, Single, Single, SKPaint)

Desenha um retângulo arredondado na tela.

DrawRoundRect(SKRect, SKSize, SKPaint)

Desenha um retângulo arredondado na tela.

DrawRoundRect(SKRoundRect, SKPaint)

Desenha um retângulo arredondado na tela.

DrawRoundRectDifference(SKRoundRect, SKRoundRect, SKPaint)

Desenha a região entre dois retângulos arredondados.

DrawSurface(SKSurface, Single, Single, SKPaint)

Desenha uma superfície na tela.

DrawSurface(SKSurface, Single, Single, SKSamplingOptions, SKPaint)

Desenha a superfície especificada na tela na posição determinada usando as opções de amostragem fornecidas.

DrawSurface(SKSurface, SKPoint, SKPaint)

Desenha uma superfície na tela.

DrawSurface(SKSurface, SKPoint, SKSamplingOptions, SKPaint)

Desenha a superfície especificada na tela no ponto determinado usando as opções de amostragem fornecidas.

DrawText(SKTextBlob, Single, Single, SKPaint)

Desenha um blob de texto na tela nas coordenadas especificadas.

DrawText(String, Single, Single, SKFont, SKPaint)
Obsoleto.

Desenha o texto especificado nas coordenadas fornecidas usando a fonte e a tinta.

DrawText(String, Single, Single, SKTextAlign, SKFont, SKPaint)

Desenha o texto especificado alinhado em torno das coordenadas fornecidas usando a fonte e a tinta.

DrawText(String, SKPoint, SKFont, SKPaint)
Obsoleto.

Desenha o texto especificado no ponto especificado usando a fonte e a tinta.

DrawText(String, SKPoint, SKTextAlign, SKFont, SKPaint)

Desenha o texto especificado alinhado ao redor do ponto especificado usando a fonte e a tinta.

DrawTextOnPath(String, SKPath, Single, Single, SKFont, SKPaint)
Obsoleto.

Desenha texto em um caminho com deslocamentos horizontais e verticais.

DrawTextOnPath(String, SKPath, Single, Single, SKTextAlign, SKFont, SKPaint)

Desenha texto em um caminho com deslocamentos e alinhamento.

DrawTextOnPath(String, SKPath, SKPoint, Boolean, SKFont, SKPaint)
Obsoleto.

Desenha texto ao longo de um caminho com glifo opcionais de warping usando a fonte especificada.

DrawTextOnPath(String, SKPath, SKPoint, Boolean, SKTextAlign, SKFont, SKPaint)

Desenha texto em um caminho com alinhamento e glifo opcional.

DrawTextOnPath(String, SKPath, SKPoint, SKFont, SKPaint)
Obsoleto.

Desenha texto em um caminho usando a fonte especificada.

DrawTextOnPath(String, SKPath, SKPoint, SKTextAlign, SKFont, SKPaint)

Desenha texto em um caminho com alinhamento usando a fonte especificada.

DrawUrlAnnotation(SKRect, SKData)

Anota a tela associando a URL especificada ao retângulo especificado (em coordenadas locais).

DrawUrlAnnotation(SKRect, String)

Anota a tela associando a URL especificada ao retângulo especificado (em coordenadas locais).

DrawVertices(SKVertexMode, SKPoint[], SKColor[], SKPaint)

Desenha uma matriz de vértices, interpretada como triângulos (com base no modo).

DrawVertices(SKVertexMode, SKPoint[], SKPoint[], SKColor[], SKBlendMode, UInt16[], SKPaint)

Desenha uma matriz de vértices, interpretada como triângulos (com base no modo).

DrawVertices(SKVertexMode, SKPoint[], SKPoint[], SKColor[], SKPaint)

Desenha uma matriz de vértices, interpretada como triângulos (com base no modo).

DrawVertices(SKVertexMode, SKPoint[], SKPoint[], SKColor[], UInt16[], SKPaint)

Desenha uma matriz de vértices, interpretada como triângulos (com base no modo).

DrawVertices(SKVertices, SKBlendMode, SKPaint)

Desenha um conjunto de vértices.

Flush()

Dispara a execução imediata de todas as operações de desenho pendentes.

GetDeviceClipBounds(SKRectI)

Retorna os limites do clipe atual (nas coordenadas do dispositivo).

GetLocalClipBounds(SKRect)

Retorna os limites do clipe atual (em coordenadas locais).

QuickReject(SKPath)

Verifica se o caminho especificado, depois de ser transformado pela matriz atual, estaria completamente fora do clipe atual.

QuickReject(SKRect)

Verifica se o retângulo especificado, após ser transformado pela matriz atual, estaria completamente fora do clipe atual.

ResetMatrix()

Define a matriz atual como identidade.

Restore()

Restaure o estado da tela.

RestoreToCount(Int32)

Restaura com eficiência o estado para um nível específico.

RotateDegrees(Single, Single, Single)

Concatena previamente a matriz atual com a rotação especificada, em torno do ponto especificado.

RotateDegrees(Single)

Concatena previamente a matriz atual com a rotação especificada.

RotateRadians(Single, Single, Single)

Concatena previamente a matriz atual com a rotação especificada, em torno do ponto especificado.

RotateRadians(Single)

Concatena previamente a matriz atual com a rotação especificada.

Save()

Salva o estado da tela.

SaveLayer()

Salva a matriz e o clipe atuais e aloca um buffer fora da tela para o desenho subsequente.

SaveLayer(SKCanvasSaveLayerRec)

Salva a matriz e o clipe atuais e aloca um buffer fora da tela usando os parâmetros especificados.

SaveLayer(SKPaint)

Salva o estado da tela e aloca um bitmap fora da tela.

SaveLayer(SKRect, SKPaint)

Salva o estado da tela e aloca um bitmap fora da tela.

Scale(Single, Single, Single, Single)

Concatena previamente a matriz atual com a escala especificada, no deslocamento específico.

Scale(Single, Single)

Concatena previamente a matriz atual com a escala especificada.

Scale(Single)

Concatena previamente a matriz atual com a escala especificada.

Scale(SKPoint)

Concatena previamente a matriz atual com a escala especificada.

SetMatrix(SKMatrix)

Substitui a matriz atual por uma cópia da matriz especificada.

SetMatrix(SKMatrix44)

Substitui a matriz atual por uma cópia da matriz 4x4 especificada.

Skew(Single, Single)

Concatena previamente a matriz atual com a distorção especificada.

Skew(SKPoint)

Concatena previamente a matriz atual com a distorção especificada.

Translate(Single, Single)

Concatena previamente a matriz atual com a tradução especificada.

Translate(SKPoint)

Concatena previamente a matriz atual com a tradução especificada.

Aplica-se a