SKShader Classe
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.
Sombreadores especificam as cores de origem para o que está sendo desenhado no SKPaint.
public class SKShader : SkiaSharp.SKObject
- Herança
Exemplos
Exemplo de sombreador de gradiente linear
var info = new SKImageInfo(256, 256);
using (var surface = SKSurface.Create(info)) {
SKCanvas canvas = surface.Canvas;
canvas.Clear(SKColors.White);
// create the shader
var colors = new SKColor[] {
new SKColor(0, 0, 255),
new SKColor(0, 255, 0)
};
var shader = SKShader.CreateLinearGradient(
new SKPoint(0, 0),
new SKPoint(255, 255),
colors,
null,
SKShaderTileMode.Clamp);
// use the shader
var paint = new SKPaint {
Shader = shader
};
canvas.DrawPaint(paint);
}
O exemplo acima produz o seguinte:
Exemplo de sombreador de gradiente radial
var info = new SKImageInfo(256, 256);
using (var surface = SKSurface.Create(info)) {
SKCanvas canvas = surface.Canvas;
canvas.Clear(SKColors.White);
// create the shader
var colors = new SKColor[] {
new SKColor(0, 0, 255),
new SKColor(0, 255, 0)
};
var shader = SKShader.CreateRadialGradient(
new SKPoint(128, 128),
180,
colors,
null,
SKShaderTileMode.Clamp);
// use the shader
var paint = new SKPaint {
Shader = shader
};
canvas.DrawPaint(paint);
}
O exemplo acima produz o seguinte:
Exemplo de sombreador de gradiente conical de dois pontos
var info = new SKImageInfo(256, 256);
using (var surface = SKSurface.Create(info)) {
SKCanvas canvas = surface.Canvas;
canvas.Clear(SKColors.White);
// create the shader
var colors = new SKColor[] {
new SKColor(0, 0, 255),
new SKColor(0, 255, 0)
};
var shader = SKShader.CreateTwoPointConicalGradient(
new SKPoint(128, 128),
128,
new SKPoint(128, 16),
16,
colors,
null,
SKShaderTileMode.Clamp);
// use the shader
var paint = new SKPaint {
Shader = shader
};
canvas.DrawPaint(paint);
}
O exemplo acima produz o seguinte:
Exemplo de sombreador de gradiente de varredura
var info = new SKImageInfo(256, 256);
using (var surface = SKSurface.Create(info)) {
SKCanvas canvas = surface.Canvas;
canvas.Clear(SKColors.White);
// create the shader
var colors = new SKColor[] {
new SKColor(0, 255, 255),
new SKColor(255, 0, 255),
new SKColor(255, 255, 0),
new SKColor(0, 255, 255)
};
var shader = SKShader.CreateSweepGradient(
new SKPoint(128, 128),
colors,
null);
// use the shader
var paint = new SKPaint {
Shader = shader
};
canvas.DrawPaint(paint);
}
O exemplo acima produz o seguinte:
de varredura de varredura de varredura
Exemplo de sombreador de ruído perlin fractal
var info = new SKImageInfo(256, 256);
using (var surface = SKSurface.Create(info)) {
SKCanvas canvas = surface.Canvas;
canvas.Clear(SKColors.White);
// create the shader
var shader = SKShader.CreatePerlinNoiseFractalNoise(0.5f, 0.5f, 4, 0);
// use the shader
var paint = new SKPaint {
Shader = shader
};
canvas.DrawPaint(paint);
}
O exemplo acima produz o seguinte:
Ruído
Exemplo de sombreador de turbulência de ruído perlin
var info = new SKImageInfo(256, 256);
using (var surface = SKSurface.Create(info)) {
SKCanvas canvas = surface.Canvas;
canvas.Clear(SKColors.White);
// create the shader
var shader = SKShader.CreatePerlinNoiseTurbulence(0.05f, 0.05f, 4, 0);
// use the shader
var paint = new SKPaint {
Shader = shader
};
canvas.DrawPaint(paint);
}
O exemplo acima produz o seguinte:
Ruído
Exemplo de sombreador de composição
var info = new SKImageInfo(256, 256);
using (var surface = SKSurface.Create(info)) {
SKCanvas canvas = surface.Canvas;
canvas.Clear(SKColors.White);
// create the first shader
var colors = new SKColor[] {
new SKColor(0, 255, 255),
new SKColor(255, 0, 255),
new SKColor(255, 255, 0),
new SKColor(0, 255, 255)
};
var sweep = SKShader.CreateSweepGradient(new SKPoint(128, 128), colors, null);
// create the second shader
var turbulence = SKShader.CreatePerlinNoiseTurbulence(0.05f, 0.05f, 4, 0);
// create the compose shader
var shader = SKShader.CreateCompose(sweep, turbulence, SKBlendMode.SrcOver);
// use the compose shader
var paint = new SKPaint {
Shader = shader
};
canvas.DrawPaint(paint);
}
O exemplo acima produz o seguinte:
de
Comentários
Sombreadores especificam as cores de origem para o que está sendo desenhado. Se uma tinta não tiver sombreador, a cor da tinta será usada. Se a tinta tiver um sombreador, as cores do sombreador serão usadas, mas serão moduladas pelo alfa da tinta.
Isso facilita a criação de um sombreador uma vez (por exemplo, bloco de bitmap ou gradiente) e, em seguida, alterar sua transparência sem precisar modificar o sombreador original, apenas o alfa da tinta precisa ser modificado.
Sombreadores são criados chamando um dos métodos estáticos "Criar".
Propriedades
| Nome | Description |
|---|---|
| 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) |
| IsDisposed |
Obtém um valor que indica se o objeto já foi descartado. (Herdado de SKNativeObject) |
| 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) |
Métodos
| Nome | Description |
|---|---|
| CreateBitmap(SKBitmap, SKShaderTileMode, SKShaderTileMode, SKMatrix) |
Cria um novo sombreador que será desenhado com o bitmap especificado. |
| CreateBitmap(SKBitmap, SKShaderTileMode, SKShaderTileMode) |
Cria um novo sombreador que será desenhado com o bitmap especificado. |
| CreateBitmap(SKBitmap) |
Cria um novo sombreador que será desenhado com o bitmap especificado. |
| CreateBlend(SKBlender, SKShader, SKShader) |
Cria um novo sombreador que combina dois sombreadores usando um liquidificador personalizado. |
| CreateBlend(SKBlendMode, SKShader, SKShader) |
Cria um novo sombreador que combina dois sombreadores usando um modo de mistura. |
| CreateColor(SKColor) |
Cria um novo sombreador que apenas desenha a cor especificada. |
| CreateColor(SKColorF, SKColorSpace) |
Cria um novo sombreador que apenas desenha a cor especificada. |
| CreateColorFilter(SKShader, SKColorFilter) |
Cria um novo sombreador que produz as mesmas cores que invocar esse sombreador e, em seguida, aplicar o filtro de cor. |
| CreateCompose(SKShader, SKShader, SKBlendMode) |
Crie um novo sombreador de composição, que combina dois sombreadores por um modo de mistura. |
| CreateCompose(SKShader, SKShader) |
Crie um novo sombreador de composição, que combina dois sombreadores pelo SrcOver modo de mistura. |
| CreateEmpty() |
Cria um novo sombreador "vazio" que não desenhará nada. |
| CreateImage(SKImage, SKShaderTileMode, SKShaderTileMode, SKMatrix) |
Cria um novo sombreador que desenha uma imagem com modos de bloco e matriz de transformação especificados. |
| CreateImage(SKImage, SKShaderTileMode, SKShaderTileMode, SKSamplingOptions, SKMatrix) |
Cria um novo sombreador que desenha uma imagem com modos de bloco, opções de amostragem e matriz de transformação especificados. |
| CreateImage(SKImage, SKShaderTileMode, SKShaderTileMode, SKSamplingOptions) |
Cria um novo sombreador que desenha uma imagem com modos de bloco e opções de amostragem especificados. |
| CreateImage(SKImage, SKShaderTileMode, SKShaderTileMode) |
Cria um novo sombreador que desenha uma imagem com modos de bloco especificados. |
| CreateImage(SKImage) |
Cria um novo sombreador que desenha uma imagem. |
| CreateLinearGradient(SKPoint, SKPoint, SKColor[], Single[], SKShaderTileMode, SKMatrix) |
Cria um sombreador que gera um gradiente linear entre os dois pontos especificados. |
| CreateLinearGradient(SKPoint, SKPoint, SKColor[], Single[], SKShaderTileMode) |
Cria um sombreador que gera um gradiente linear entre os dois pontos especificados. |
| CreateLinearGradient(SKPoint, SKPoint, SKColor[], SKShaderTileMode) |
Cria um sombreador que gera um gradiente linear entre os dois pontos especificados. |
| CreateLinearGradient(SKPoint, SKPoint, SKColorF[], SKColorSpace, Single[], SKShaderTileMode, SKMatrix) |
Cria um sombreador que gera um gradiente linear entre os dois pontos especificados em um espaço de cores especificado. |
| CreateLinearGradient(SKPoint, SKPoint, SKColorF[], SKColorSpace, Single[], SKShaderTileMode) |
Cria um sombreador que gera um gradiente linear entre os dois pontos especificados em um espaço de cores especificado. |
| CreateLinearGradient(SKPoint, SKPoint, SKColorF[], SKColorSpace, SKShaderTileMode) |
Cria um sombreador que gera um gradiente linear entre os dois pontos especificados em um espaço de cores especificado. |
| CreateLocalMatrix(SKShader, SKMatrix) |
Cria um sombreador que primeiro aplica a matriz especificada e, em seguida, aplica o sombreador. |
| CreatePerlinNoiseFractalNoise(Single, Single, Int32, Single, SKPointI) |
Cria um novo sombreador que desenha o ruído fractal perlin. |
| CreatePerlinNoiseFractalNoise(Single, Single, Int32, Single, SKSizeI) |
Cria um novo sombreador que produz ruído perlin fractal com um tamanho de bloco especificado. |
| CreatePerlinNoiseFractalNoise(Single, Single, Int32, Single) |
Cria um novo sombreador que desenha o ruído fractal de Perlin. |
| CreatePerlinNoiseTurbulence(Single, Single, Int32, Single, SKPointI) |
Cria um novo sombreador que desenha ruído de turbulência de Perlin. |
| CreatePerlinNoiseTurbulence(Single, Single, Int32, Single, SKSizeI) |
Cria um novo sombreador que produz turbulência de ruído Perlin com um tamanho de bloco especificado. |
| CreatePerlinNoiseTurbulence(Single, Single, Int32, Single) |
Cria um novo sombreador que desenha ruído de turbulência de Perlin. |
| CreatePicture(SKPicture, SKShaderTileMode, SKShaderTileMode, SKFilterMode, SKMatrix, SKRect) |
Cria um novo sombreador que será desenhado com a imagem, o modo de filtro, a matriz de transformação e o retângulo de bloco especificados. |
| CreatePicture(SKPicture, SKShaderTileMode, SKShaderTileMode, SKFilterMode, SKRect) |
Cria um novo sombreador que será desenhado com a imagem, o modo de filtro e o retângulo de bloco especificados. |
| CreatePicture(SKPicture, SKShaderTileMode, SKShaderTileMode, SKFilterMode) |
Cria um novo sombreador que será desenhado com a imagem e o modo de filtro especificados. |
| CreatePicture(SKPicture, SKShaderTileMode, SKShaderTileMode, SKMatrix, SKRect) |
Cria um novo sombreador que será desenhado com a imagem especificada. |
| CreatePicture(SKPicture, SKShaderTileMode, SKShaderTileMode, SKRect) |
Cria um novo sombreador que será desenhado com a imagem especificada. |
| CreatePicture(SKPicture, SKShaderTileMode, SKShaderTileMode) |
Cria um novo sombreador que será desenhado com a imagem especificada. |
| CreatePicture(SKPicture) |
Cria um novo sombreador que será desenhado com a imagem especificada. |
| CreateRadialGradient(SKPoint, Single, SKColor[], Single[], SKShaderTileMode, SKMatrix) |
Cria um sombreador que gera um gradiente radial dado o centro e o raio. |
| CreateRadialGradient(SKPoint, Single, SKColor[], Single[], SKShaderTileMode) |
Cria um sombreador que gera um gradiente radial dado o centro e o raio. |
| CreateRadialGradient(SKPoint, Single, SKColor[], SKShaderTileMode) |
Cria um sombreador que gera um gradiente radial dado o centro e o raio. |
| CreateRadialGradient(SKPoint, Single, SKColorF[], SKColorSpace, Single[], SKShaderTileMode, SKMatrix) |
Cria um sombreador que gera um gradiente radial em um espaço de cores especificado. |
| CreateRadialGradient(SKPoint, Single, SKColorF[], SKColorSpace, Single[], SKShaderTileMode) |
Cria um sombreador que gera um gradiente radial em um espaço de cores especificado. |
| CreateRadialGradient(SKPoint, Single, SKColorF[], SKColorSpace, SKShaderTileMode) |
Cria um sombreador que gera um gradiente radial em um espaço de cores especificado. |
| CreateSweepGradient(SKPoint, SKColor[], Single[], SKMatrix) |
Cria um sombreador que gera um gradiente de varredura dado um centro. |
| CreateSweepGradient(SKPoint, SKColor[], Single[], SKShaderTileMode, Single, Single, SKMatrix) |
Cria um sombreador que gera um gradiente de varredura dado um centro. |
| CreateSweepGradient(SKPoint, SKColor[], Single[], SKShaderTileMode, Single, Single) |
Cria um sombreador que gera um gradiente de varredura dado um centro. |
| CreateSweepGradient(SKPoint, SKColor[], Single[]) |
Cria um sombreador que gera um gradiente de varredura dado um centro. |
| CreateSweepGradient(SKPoint, SKColor[], SKShaderTileMode, Single, Single) |
Cria um sombreador que gera um gradiente de varredura dado um centro. |
| CreateSweepGradient(SKPoint, SKColor[]) |
Cria um sombreador que gera um gradiente de varredura dado um centro. |
| CreateSweepGradient(SKPoint, SKColorF[], SKColorSpace, Single[], SKMatrix) |
Cria um sombreador que gera um gradiente de varredura em um espaço de cores especificado. |
| CreateSweepGradient(SKPoint, SKColorF[], SKColorSpace, Single[], SKShaderTileMode, Single, Single, SKMatrix) |
Cria um sombreador que gera um gradiente de varredura com intervalo angular em um espaço de cores especificado. |
| CreateSweepGradient(SKPoint, SKColorF[], SKColorSpace, Single[], SKShaderTileMode, Single, Single) |
Cria um sombreador que gera um gradiente de varredura com intervalo angular em um espaço de cores especificado. |
| CreateSweepGradient(SKPoint, SKColorF[], SKColorSpace, Single[]) |
Cria um sombreador que gera um gradiente de varredura em um espaço de cores especificado. |
| CreateSweepGradient(SKPoint, SKColorF[], SKColorSpace, SKShaderTileMode, Single, Single) |
Cria um sombreador que gera um gradiente de varredura com intervalo angular em um espaço de cores especificado. |
| CreateSweepGradient(SKPoint, SKColorF[], SKColorSpace) |
Cria um sombreador que gera um gradiente de varredura em um espaço de cores especificado. |
| CreateTwoPointConicalGradient(SKPoint, Single, SKPoint, Single, SKColor[], Single[], SKShaderTileMode, SKMatrix) |
Cria um sombreador que gera um gradiente cônico dado dois círculos. |
| CreateTwoPointConicalGradient(SKPoint, Single, SKPoint, Single, SKColor[], Single[], SKShaderTileMode) |
Cria um sombreador que gera um gradiente cônico dado dois círculos. |
| CreateTwoPointConicalGradient(SKPoint, Single, SKPoint, Single, SKColor[], SKShaderTileMode) |
Cria um sombreador que gera um gradiente cônico dado dois círculos. |
| CreateTwoPointConicalGradient(SKPoint, Single, SKPoint, Single, SKColorF[], SKColorSpace, Single[], SKShaderTileMode, SKMatrix) |
Cria um sombreador que gera um gradiente cônico em um espaço de cores especificado. |
| CreateTwoPointConicalGradient(SKPoint, Single, SKPoint, Single, SKColorF[], SKColorSpace, Single[], SKShaderTileMode) |
Cria um sombreador que gera um gradiente cônico em um espaço de cores especificado. |
| CreateTwoPointConicalGradient(SKPoint, Single, SKPoint, Single, SKColorF[], SKColorSpace, SKShaderTileMode) |
Cria um sombreador que gera um gradiente cônico em um espaço de cores especificado. |
| Dispose() |
Libera todos os recursos usados por isso SKNativeObject. (Herdado de SKNativeObject) |
| Dispose(Boolean) |
Libera os recursos não gerenciados usados pelo SKShader 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. (Herdado de SKObject) |
| DisposeUnownedManaged() |
Implementado por tipos derivados SKObject para descartar objetos gerenciados que não pertencem a essa instância. (Herdado de SKObject) |
| WithColorFilter(SKColorFilter) |
Retorna um novo sombreador que produz as mesmas cores desse sombreador, mas com o filtro de cores especificado aplicado. |
| WithLocalMatrix(SKMatrix) |
Retorna um novo sombreador que produz as mesmas cores desse sombreador, mas com a matriz de transformação especificada aplicada. |