SKShader Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Los sombreadores especifican los colores de origen para lo que se dibuja en .SKPaint
public class SKShader : SkiaSharp.SKObject
- Herencia
Ejemplos
Ejemplo de sombreador de degradado lineal
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);
}
El ejemplo anterior genera lo siguiente:
Ejemplo del sombreador de degradado 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);
}
El ejemplo anterior genera lo siguiente:
Ejemplo del sombreador de degradado cónico de dos puntos
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);
}
El ejemplo anterior genera lo siguiente:
de
Ejemplo del sombreador de degradado de barrido
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);
}
El ejemplo anterior genera lo siguiente:
Ejemplo de sombreador de ruido de 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);
}
El ejemplo anterior genera lo siguiente:
Ejemplo del sombreador de turbulencia de ruido 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);
}
El ejemplo anterior genera lo siguiente:
Ejemplo del sombreador de redacción
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);
}
El ejemplo anterior genera lo siguiente:
Comentarios
Los sombreadores especifican los colores de origen para lo que se está dibujando. Si una pintura no tiene sombreador, se usa el color de la pintura. Si la pintura tiene un sombreador, los colores del sombreador se usan en su lugar, pero se modulan mediante el alfa de la pintura.
Esto facilita la creación de un sombreador una vez (por ejemplo, mosaico o degradado de mapa de bits) y, a continuación, cambiar su transparencia sin tener que modificar el sombreador original, solo es necesario modificar el alfa de la pintura.
Los sombreadores se crean llamando a uno de los métodos estáticos "Create".
Propiedades
| Nombre | Description |
|---|---|
| Handle |
Obtiene o establece el identificador en el objeto nativo subyacente. (Heredado de SKObject) |
| IgnorePublicDispose |
Obtiene un valor que indica si la llamada al público Dispose() debe ser no-op. (Heredado de SKNativeObject) |
| IsDisposed |
Obtiene un valor que indica si el objeto ya se ha eliminado. (Heredado de SKNativeObject) |
| OwnsHandle |
Obtiene o establece un valor que indica si este objeto posee su identificador y debe destruir el objeto nativo cuando se elimina. (Heredado de SKNativeObject) |
Métodos
| Nombre | Description |
|---|---|
| CreateBitmap(SKBitmap, SKShaderTileMode, SKShaderTileMode, SKMatrix) |
Crea un nuevo sombreador que dibujará con el mapa de bits especificado. |
| CreateBitmap(SKBitmap, SKShaderTileMode, SKShaderTileMode) |
Crea un nuevo sombreador que dibujará con el mapa de bits especificado. |
| CreateBitmap(SKBitmap) |
Crea un nuevo sombreador que dibujará con el mapa de bits especificado. |
| CreateBlend(SKBlender, SKShader, SKShader) |
Crea un nuevo sombreador que combina dos sombreadores mediante un combinador personalizado. |
| CreateBlend(SKBlendMode, SKShader, SKShader) |
Crea un nuevo sombreador que combina dos sombreadores mediante un modo de combinación. |
| CreateColor(SKColor) |
Crea un nuevo sombreador que simplemente dibuja el color especificado. |
| CreateColor(SKColorF, SKColorSpace) |
Crea un nuevo sombreador que simplemente dibuja el color especificado. |
| CreateColorFilter(SKShader, SKColorFilter) |
Crea un nuevo sombreador que genera los mismos colores que invocar este sombreador y, a continuación, aplicar el filtro de color. |
| CreateCompose(SKShader, SKShader, SKBlendMode) |
Cree un nuevo sombreador de redacción, que combina dos sombreadores mediante un modo de combinación. |
| CreateCompose(SKShader, SKShader) |
Cree un nuevo sombreador de redacción, que combina dos sombreadores mediante el SrcOver modo de mezcla. |
| CreateEmpty() |
Crea un nuevo sombreador "vacío" que no dibujará nada. |
| CreateImage(SKImage, SKShaderTileMode, SKShaderTileMode, SKMatrix) |
Crea un nuevo sombreador que dibuja una imagen con los modos de mosaico y la matriz de transformación especificados. |
| CreateImage(SKImage, SKShaderTileMode, SKShaderTileMode, SKSamplingOptions, SKMatrix) |
Crea un nuevo sombreador que dibuja una imagen con los modos de mosaico, las opciones de muestreo y la matriz de transformación especificados. |
| CreateImage(SKImage, SKShaderTileMode, SKShaderTileMode, SKSamplingOptions) |
Crea un nuevo sombreador que dibuja una imagen con los modos de mosaico y las opciones de muestreo especificadas. |
| CreateImage(SKImage, SKShaderTileMode, SKShaderTileMode) |
Crea un nuevo sombreador que dibuja una imagen con los modos de mosaico especificados. |
| CreateImage(SKImage) |
Crea un nuevo sombreador que dibuja una imagen. |
| CreateLinearGradient(SKPoint, SKPoint, SKColor[], Single[], SKShaderTileMode, SKMatrix) |
Crea un sombreador que genera un degradado lineal entre los dos puntos especificados. |
| CreateLinearGradient(SKPoint, SKPoint, SKColor[], Single[], SKShaderTileMode) |
Crea un sombreador que genera un degradado lineal entre los dos puntos especificados. |
| CreateLinearGradient(SKPoint, SKPoint, SKColor[], SKShaderTileMode) |
Crea un sombreador que genera un degradado lineal entre los dos puntos especificados. |
| CreateLinearGradient(SKPoint, SKPoint, SKColorF[], SKColorSpace, Single[], SKShaderTileMode, SKMatrix) |
Crea un sombreador que genera un degradado lineal entre los dos puntos especificados en un espacio de color especificado. |
| CreateLinearGradient(SKPoint, SKPoint, SKColorF[], SKColorSpace, Single[], SKShaderTileMode) |
Crea un sombreador que genera un degradado lineal entre los dos puntos especificados en un espacio de color especificado. |
| CreateLinearGradient(SKPoint, SKPoint, SKColorF[], SKColorSpace, SKShaderTileMode) |
Crea un sombreador que genera un degradado lineal entre los dos puntos especificados en un espacio de color especificado. |
| CreateLocalMatrix(SKShader, SKMatrix) |
Crea un sombreador que aplica primero la matriz especificada y, a continuación, aplica el sombreador. |
| CreatePerlinNoiseFractalNoise(Single, Single, Int32, Single, SKPointI) |
Crea un nuevo sombreador que dibuja el ruido fractal de Perlin. |
| CreatePerlinNoiseFractalNoise(Single, Single, Int32, Single, SKSizeI) |
Crea un nuevo sombreador que genera ruido de perlin fractal con un tamaño de mosaico especificado. |
| CreatePerlinNoiseFractalNoise(Single, Single, Int32, Single) |
Crea un nuevo sombreador que dibuja el ruido fractal de Perlin. |
| CreatePerlinNoiseTurbulence(Single, Single, Int32, Single, SKPointI) |
Crea un nuevo sombreador que dibuja el ruido de la turbulencia de Perlin. |
| CreatePerlinNoiseTurbulence(Single, Single, Int32, Single, SKSizeI) |
Crea un nuevo sombreador que genera una turbulencia de ruido de Perlin con un tamaño de mosaico especificado. |
| CreatePerlinNoiseTurbulence(Single, Single, Int32, Single) |
Crea un nuevo sombreador que dibuja el ruido de la turbulencia de Perlin. |
| CreatePicture(SKPicture, SKShaderTileMode, SKShaderTileMode, SKFilterMode, SKMatrix, SKRect) |
Crea un nuevo sombreador que dibujará con la imagen, el modo de filtro, la matriz de transformación y el rectángulo de mosaico especificados. |
| CreatePicture(SKPicture, SKShaderTileMode, SKShaderTileMode, SKFilterMode, SKRect) |
Crea un nuevo sombreador que dibujará con la imagen, el modo de filtro y el rectángulo de mosaico especificados. |
| CreatePicture(SKPicture, SKShaderTileMode, SKShaderTileMode, SKFilterMode) |
Crea un nuevo sombreador que dibujará con la imagen y el modo de filtro especificados. |
| CreatePicture(SKPicture, SKShaderTileMode, SKShaderTileMode, SKMatrix, SKRect) |
Crea un nuevo sombreador que dibujará con la imagen especificada. |
| CreatePicture(SKPicture, SKShaderTileMode, SKShaderTileMode, SKRect) |
Crea un nuevo sombreador que dibujará con la imagen especificada. |
| CreatePicture(SKPicture, SKShaderTileMode, SKShaderTileMode) |
Crea un nuevo sombreador que dibujará con la imagen especificada. |
| CreatePicture(SKPicture) |
Crea un nuevo sombreador que dibujará con la imagen especificada. |
| CreateRadialGradient(SKPoint, Single, SKColor[], Single[], SKShaderTileMode, SKMatrix) |
Crea un sombreador que genera un degradado radial dado el centro y el radio. |
| CreateRadialGradient(SKPoint, Single, SKColor[], Single[], SKShaderTileMode) |
Crea un sombreador que genera un degradado radial dado el centro y el radio. |
| CreateRadialGradient(SKPoint, Single, SKColor[], SKShaderTileMode) |
Crea un sombreador que genera un degradado radial dado el centro y el radio. |
| CreateRadialGradient(SKPoint, Single, SKColorF[], SKColorSpace, Single[], SKShaderTileMode, SKMatrix) |
Crea un sombreador que genera un degradado radial en un espacio de color especificado. |
| CreateRadialGradient(SKPoint, Single, SKColorF[], SKColorSpace, Single[], SKShaderTileMode) |
Crea un sombreador que genera un degradado radial en un espacio de color especificado. |
| CreateRadialGradient(SKPoint, Single, SKColorF[], SKColorSpace, SKShaderTileMode) |
Crea un sombreador que genera un degradado radial en un espacio de color especificado. |
| CreateSweepGradient(SKPoint, SKColor[], Single[], SKMatrix) |
Crea un sombreador que genera un degradado de barrido dado un centro. |
| CreateSweepGradient(SKPoint, SKColor[], Single[], SKShaderTileMode, Single, Single, SKMatrix) |
Crea un sombreador que genera un degradado de barrido dado un centro. |
| CreateSweepGradient(SKPoint, SKColor[], Single[], SKShaderTileMode, Single, Single) |
Crea un sombreador que genera un degradado de barrido dado un centro. |
| CreateSweepGradient(SKPoint, SKColor[], Single[]) |
Crea un sombreador que genera un degradado de barrido dado un centro. |
| CreateSweepGradient(SKPoint, SKColor[], SKShaderTileMode, Single, Single) |
Crea un sombreador que genera un degradado de barrido dado un centro. |
| CreateSweepGradient(SKPoint, SKColor[]) |
Crea un sombreador que genera un degradado de barrido dado un centro. |
| CreateSweepGradient(SKPoint, SKColorF[], SKColorSpace, Single[], SKMatrix) |
Crea un sombreador que genera un degradado de barrido en un espacio de color especificado. |
| CreateSweepGradient(SKPoint, SKColorF[], SKColorSpace, Single[], SKShaderTileMode, Single, Single, SKMatrix) |
Crea un sombreador que genera un degradado de barrido con rango angular en un espacio de color especificado. |
| CreateSweepGradient(SKPoint, SKColorF[], SKColorSpace, Single[], SKShaderTileMode, Single, Single) |
Crea un sombreador que genera un degradado de barrido con rango angular en un espacio de color especificado. |
| CreateSweepGradient(SKPoint, SKColorF[], SKColorSpace, Single[]) |
Crea un sombreador que genera un degradado de barrido en un espacio de color especificado. |
| CreateSweepGradient(SKPoint, SKColorF[], SKColorSpace, SKShaderTileMode, Single, Single) |
Crea un sombreador que genera un degradado de barrido con rango angular en un espacio de color especificado. |
| CreateSweepGradient(SKPoint, SKColorF[], SKColorSpace) |
Crea un sombreador que genera un degradado de barrido en un espacio de color especificado. |
| CreateTwoPointConicalGradient(SKPoint, Single, SKPoint, Single, SKColor[], Single[], SKShaderTileMode, SKMatrix) |
Crea un sombreador que genera un degradado cónico dados dos círculos. |
| CreateTwoPointConicalGradient(SKPoint, Single, SKPoint, Single, SKColor[], Single[], SKShaderTileMode) |
Crea un sombreador que genera un degradado cónico dados dos círculos. |
| CreateTwoPointConicalGradient(SKPoint, Single, SKPoint, Single, SKColor[], SKShaderTileMode) |
Crea un sombreador que genera un degradado cónico dados dos círculos. |
| CreateTwoPointConicalGradient(SKPoint, Single, SKPoint, Single, SKColorF[], SKColorSpace, Single[], SKShaderTileMode, SKMatrix) |
Crea un sombreador que genera un degradado cónico en un espacio de color especificado. |
| CreateTwoPointConicalGradient(SKPoint, Single, SKPoint, Single, SKColorF[], SKColorSpace, Single[], SKShaderTileMode) |
Crea un sombreador que genera un degradado cónico en un espacio de color especificado. |
| CreateTwoPointConicalGradient(SKPoint, Single, SKPoint, Single, SKColorF[], SKColorSpace, SKShaderTileMode) |
Crea un sombreador que genera un degradado cónico en un espacio de color especificado. |
| Dispose() |
Libera todos los recursos usados por este SKNativeObject. (Heredado de SKNativeObject) |
| Dispose(Boolean) |
Libera los recursos no administrados utilizados por SKShader y, opcionalmente, libera los recursos administrados. |
| DisposeInternal() |
Desencadena un dispose y omite el valor de IgnorePublicDispose. (Heredado de SKNativeObject) |
| DisposeManaged() |
Implementado por tipos derivados SKObject para destruir los objetos administrados. (Heredado de SKObject) |
| DisposeNative() |
Implementado por tipos derivados SKObject para destruir cualquier objeto nativo. (Heredado de SKObject) |
| DisposeUnownedManaged() |
Implementado por tipos derivados SKObject para eliminar objetos administrados que no son propiedad de esta instancia. (Heredado de SKObject) |
| WithColorFilter(SKColorFilter) |
Devuelve un nuevo sombreador que genera los mismos colores que este sombreador, pero con el filtro de color especificado aplicado. |
| WithLocalMatrix(SKMatrix) |
Devuelve un nuevo sombreador que genera los mismos colores que este sombreador, pero con la matriz de transformación especificada aplicada. |