SKShader Clase

Definición

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:

Degradado lineal

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:

Degradado

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:

Degradado cónico 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:

Degradado

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:

Ruido de perlinales

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:

Ruido de perlinales

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:

Sombreador de redacción

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.

Se aplica a