SKShader.CreateCompose Method

Definition

Overloads

CreateCompose(SKShader, SKShader)

Create a new compose shader, which combines two shaders by the SrcOver blend mode.

CreateCompose(SKShader, SKShader, SKBlendMode)

Create a new compose shader, which combines two shaders by a blend mode.

CreateCompose(SKShader, SKShader, SKXferMode)

Create a new compose shader, which combines two shaders by a transfer mode.

Examples

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);
}

The example above produces the following:

Compose Shader

Remarks

Create a new compose shader, which combines two shaders by a blend mode.

CreateCompose(SKShader, SKShader)

Create a new compose shader, which combines two shaders by the SrcOver blend mode.

public static SkiaSharp.SKShader CreateCompose (SkiaSharp.SKShader shaderA, SkiaSharp.SKShader shaderB);

Parameters

shaderA
SKShader

The colors from this shader are seen as the destination by the blend mode.

shaderB
SKShader

The colors from this shader are seen as the source by the blend mode.

Returns

Returns a new SKShader, or an empty shader on error. This function never returns null.

CreateCompose(SKShader, SKShader, SKBlendMode)

Create a new compose shader, which combines two shaders by a blend mode.

public static SkiaSharp.SKShader CreateCompose (SkiaSharp.SKShader shaderA, SkiaSharp.SKShader shaderB, SkiaSharp.SKBlendMode mode);

Parameters

shaderA
SKShader

The colors from this shader are seen as the destination by the blend mode.

shaderB
SKShader

The colors from this shader are seen as the source by the blend mode.

mode
SKBlendMode

The blend mode that combines the two shaders.

Returns

Returns a new SKShader, or an empty shader on error. This function never returns null.

CreateCompose(SKShader, SKShader, SKXferMode)

Warning

This API is now obsolete.

Create a new compose shader, which combines two shaders by a transfer mode.

[System.Obsolete("Use CreateCompose(SKShader, SKShader, SKBlendMode) instead.", true)]
public static SkiaSharp.SKShader CreateCompose (SkiaSharp.SKShader shaderA, SkiaSharp.SKShader shaderB, SkiaSharp.SKXferMode mode);

Parameters

shaderA
SKShader

The colors from this shader are seen as the destination by the transfer mode.

shaderB
SKShader

The colors from this shader are seen as the source by the transfer mode.

mode
SKXferMode

The transfer mode that combines the two shaders.

Returns

Returns a new SKShader, or an empty shader on error. This function never returns null.

Attributes

Applies to