SKShader Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Cieniowania określają kolory źródłowe dla elementów, które są rysowane w elemecie SKPaint.
public class SKShader : SkiaSharp.SKObject
- Dziedziczenie
Przykłady
Przykład cieniowania gradientu liniowego
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);
}
W powyższym przykładzie przedstawiono następujące dane:
Przykład cieniowania gradientu promieniowego
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);
}
W powyższym przykładzie przedstawiono następujące dane:
Dwupunktowy przykład cieniowania gradientu stożkowego
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);
}
W powyższym przykładzie przedstawiono następujące dane:
Przykład cieniowania gradientu zamiatania
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);
}
W powyższym przykładzie przedstawiono następujące dane:
Przykład cieniowania szumu perlinowego
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);
}
W powyższym przykładzie przedstawiono następujące dane:
Przykład cieniowania turbulencji szumu 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);
}
W powyższym przykładzie przedstawiono następujące dane:
Przykład cieniowania redagowania
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);
}
W powyższym przykładzie przedstawiono następujące dane:
Uwagi
Cieniowanie określa kolory źródłowe dla rysowanych elementów. Jeśli farba nie ma cieniowania, używany jest kolor farby. Jeśli farba ma cieniowanie, kolory cieniowania są używane, ale są modulowane przez alfa farby.
Dzięki temu można łatwo utworzyć cieniowanie raz (na przykład tiling mapy bitowej lub gradient), a następnie zmienić jego przezroczystość bez konieczności modyfikowania oryginalnego cieniowania, należy zmodyfikować tylko alfa farby.
Cieniowania są tworzone przez wywołanie jednej ze statycznych metod "Create".
Właściwości
| Nazwa | Opis |
|---|---|
| Handle |
Pobiera lub ustawia uchwyt do bazowego obiektu natywnego. (Odziedziczone po SKObject) |
| IgnorePublicDispose |
Pobiera wartość wskazującą, czy wywołanie publiczne Dispose() powinno być no-op. (Odziedziczone po SKNativeObject) |
| IsDisposed |
Pobiera wartość wskazującą, czy obiekt został już usunięty. (Odziedziczone po SKNativeObject) |
| OwnsHandle |
Pobiera lub ustawia wartość wskazującą, czy ten obiekt jest właścicielem uchwytu i powinien zniszczyć obiekt macierzysty podczas jego usuwania. (Odziedziczone po SKNativeObject) |
Metody
| Nazwa | Opis |
|---|---|
| CreateBitmap(SKBitmap, SKShaderTileMode, SKShaderTileMode, SKMatrix) |
Tworzy nowy moduł cieniujący, który będzie rysować z określoną mapą bitową. |
| CreateBitmap(SKBitmap, SKShaderTileMode, SKShaderTileMode) |
Tworzy nowy moduł cieniujący, który będzie rysować z określoną mapą bitową. |
| CreateBitmap(SKBitmap) |
Tworzy nowy moduł cieniujący, który będzie rysować z określoną mapą bitową. |
| CreateBlend(SKBlender, SKShader, SKShader) |
Tworzy nowy cieniator, który łączy dwa cieniowania razem przy użyciu niestandardowego blendera. |
| CreateBlend(SKBlendMode, SKShader, SKShader) |
Tworzy nowy moduł cieniujący, który łączy dwa cieniowania ze sobą przy użyciu trybu mieszania. |
| CreateColor(SKColor) |
Tworzy nowy cieniowanie, który po prostu rysuje określony kolor. |
| CreateColor(SKColorF, SKColorSpace) |
Tworzy nowy cieniowanie, który po prostu rysuje określony kolor. |
| CreateColorFilter(SKShader, SKColorFilter) |
Tworzy nowy cieńszy, który tworzy te same kolory co wywołanie tego cieniowania, a następnie zastosowanie filtru kolorów. |
| CreateCompose(SKShader, SKShader, SKBlendMode) |
Utwórz nowy moduł cieniowania redagowania, który łączy dwa cieniowania w trybie mieszanym. |
| CreateCompose(SKShader, SKShader) |
Utwórz nowy moduł cieniowania redagowania, który łączy dwa cieniowania w trybie mieszanym SrcOver . |
| CreateEmpty() |
Tworzy nowy moduł cieniujący "pusty", który nie będzie niczego rysować. |
| CreateImage(SKImage, SKShaderTileMode, SKShaderTileMode, SKMatrix) |
Tworzy nowy moduł cieniujący, który rysuje obraz z określonymi trybami kafelka i macierzą przekształceń. |
| CreateImage(SKImage, SKShaderTileMode, SKShaderTileMode, SKSamplingOptions, SKMatrix) |
Tworzy nowy moduł cieniujący, który rysuje obraz z określonymi trybami kafelków, opcjami próbkowania i macierzą przekształceń. |
| CreateImage(SKImage, SKShaderTileMode, SKShaderTileMode, SKSamplingOptions) |
Tworzy nowy moduł cieniujący, który rysuje obraz z określonymi trybami kafelka i opcjami próbkowania. |
| CreateImage(SKImage, SKShaderTileMode, SKShaderTileMode) |
Tworzy nowy moduł cieniujący, który rysuje obraz z określonymi trybami kafelków. |
| CreateImage(SKImage) |
Tworzy nowy moduł cieniujący, który rysuje obraz. |
| CreateLinearGradient(SKPoint, SKPoint, SKColor[], Single[], SKShaderTileMode, SKMatrix) |
Tworzy cieniowanie, które generuje gradient liniowy między dwoma określonymi punktami. |
| CreateLinearGradient(SKPoint, SKPoint, SKColor[], Single[], SKShaderTileMode) |
Tworzy cieniowanie, które generuje gradient liniowy między dwoma określonymi punktami. |
| CreateLinearGradient(SKPoint, SKPoint, SKColor[], SKShaderTileMode) |
Tworzy cieniowanie, które generuje gradient liniowy między dwoma określonymi punktami. |
| CreateLinearGradient(SKPoint, SKPoint, SKColorF[], SKColorSpace, Single[], SKShaderTileMode, SKMatrix) |
Tworzy cieniowanie, które generuje gradient liniowy między dwoma określonymi punktami w określonej przestrzeni kolorów. |
| CreateLinearGradient(SKPoint, SKPoint, SKColorF[], SKColorSpace, Single[], SKShaderTileMode) |
Tworzy cieniowanie, które generuje gradient liniowy między dwoma określonymi punktami w określonej przestrzeni kolorów. |
| CreateLinearGradient(SKPoint, SKPoint, SKColorF[], SKColorSpace, SKShaderTileMode) |
Tworzy cieniowanie, które generuje gradient liniowy między dwoma określonymi punktami w określonej przestrzeni kolorów. |
| CreateLocalMatrix(SKShader, SKMatrix) |
Tworzy cieniowania, który najpierw stosuje określoną macierz, a następnie stosuje cieniowania. |
| CreatePerlinNoiseFractalNoise(Single, Single, Int32, Single, SKPointI) |
Tworzy nowy moduł cieniujący, który rysuje szum fraktalny Perlin. |
| CreatePerlinNoiseFractalNoise(Single, Single, Int32, Single, SKSizeI) |
Tworzy nowy moduł cieniujący, który generuje szum perlinowy o określonym rozmiarze kafelka. |
| CreatePerlinNoiseFractalNoise(Single, Single, Int32, Single) |
Tworzy nowy moduł cieniujący, który rysuje szum fraktalny Perlin. |
| CreatePerlinNoiseTurbulence(Single, Single, Int32, Single, SKPointI) |
Tworzy nowy cieniowanie, który rysuje szum turbulencji Perlin. |
| CreatePerlinNoiseTurbulence(Single, Single, Int32, Single, SKSizeI) |
Tworzy nowy moduł cieniujący, który generuje turbulencję szumu Perlin o określonym rozmiarze kafelka. |
| CreatePerlinNoiseTurbulence(Single, Single, Int32, Single) |
Tworzy nowy cieniowanie, który rysuje szum turbulencji Perlin. |
| CreatePicture(SKPicture, SKShaderTileMode, SKShaderTileMode, SKFilterMode, SKMatrix, SKRect) |
Tworzy nowy moduł cieniujący, który będzie rysować przy użyciu określonego obrazu, trybu filtrowania, macierzy transformacji i prostokąta kafelka. |
| CreatePicture(SKPicture, SKShaderTileMode, SKShaderTileMode, SKFilterMode, SKRect) |
Tworzy nowy moduł cieniujący, który będzie rysować z określonym obrazem, trybem filtrowania i prostokątem kafelka. |
| CreatePicture(SKPicture, SKShaderTileMode, SKShaderTileMode, SKFilterMode) |
Tworzy nowy moduł cieniujący, który będzie rysować przy użyciu określonego obrazu i trybu filtrowania. |
| CreatePicture(SKPicture, SKShaderTileMode, SKShaderTileMode, SKMatrix, SKRect) |
Tworzy nowy moduł cieniujący, który będzie rysowy z określonym obrazem. |
| CreatePicture(SKPicture, SKShaderTileMode, SKShaderTileMode, SKRect) |
Tworzy nowy moduł cieniujący, który będzie rysowy z określonym obrazem. |
| CreatePicture(SKPicture, SKShaderTileMode, SKShaderTileMode) |
Tworzy nowy moduł cieniujący, który będzie rysowy z określonym obrazem. |
| CreatePicture(SKPicture) |
Tworzy nowy moduł cieniujący, który będzie rysowy z określonym obrazem. |
| CreateRadialGradient(SKPoint, Single, SKColor[], Single[], SKShaderTileMode, SKMatrix) |
Tworzy cieniowanie, które generuje gradient promieniowy, biorąc pod uwagę środek i promień. |
| CreateRadialGradient(SKPoint, Single, SKColor[], Single[], SKShaderTileMode) |
Tworzy cieniowanie, które generuje gradient promieniowy, biorąc pod uwagę środek i promień. |
| CreateRadialGradient(SKPoint, Single, SKColor[], SKShaderTileMode) |
Tworzy cieniowanie, które generuje gradient promieniowy, biorąc pod uwagę środek i promień. |
| CreateRadialGradient(SKPoint, Single, SKColorF[], SKColorSpace, Single[], SKShaderTileMode, SKMatrix) |
Tworzy cieniowanie, które generuje gradient promieniowy w określonej przestrzeni kolorów. |
| CreateRadialGradient(SKPoint, Single, SKColorF[], SKColorSpace, Single[], SKShaderTileMode) |
Tworzy cieniowanie, które generuje gradient promieniowy w określonej przestrzeni kolorów. |
| CreateRadialGradient(SKPoint, Single, SKColorF[], SKColorSpace, SKShaderTileMode) |
Tworzy cieniowanie, które generuje gradient promieniowy w określonej przestrzeni kolorów. |
| CreateSweepGradient(SKPoint, SKColor[], Single[], SKMatrix) |
Tworzy cieniowanie, które generuje gradient zamiatania na podstawie środka. |
| CreateSweepGradient(SKPoint, SKColor[], Single[], SKShaderTileMode, Single, Single, SKMatrix) |
Tworzy cieniowanie, które generuje gradient zamiatania na podstawie środka. |
| CreateSweepGradient(SKPoint, SKColor[], Single[], SKShaderTileMode, Single, Single) |
Tworzy cieniowanie, które generuje gradient zamiatania na podstawie środka. |
| CreateSweepGradient(SKPoint, SKColor[], Single[]) |
Tworzy cieniowanie, które generuje gradient zamiatania na podstawie środka. |
| CreateSweepGradient(SKPoint, SKColor[], SKShaderTileMode, Single, Single) |
Tworzy cieniowanie, które generuje gradient zamiatania na podstawie środka. |
| CreateSweepGradient(SKPoint, SKColor[]) |
Tworzy cieniowanie, które generuje gradient zamiatania na podstawie środka. |
| CreateSweepGradient(SKPoint, SKColorF[], SKColorSpace, Single[], SKMatrix) |
Tworzy cieniowanie, które generuje gradient zamiatania w określonej przestrzeni kolorów. |
| CreateSweepGradient(SKPoint, SKColorF[], SKColorSpace, Single[], SKShaderTileMode, Single, Single, SKMatrix) |
Tworzy cieniowanie, które generuje gradient zamiatania z zakresem kątowym w określonej przestrzeni kolorów. |
| CreateSweepGradient(SKPoint, SKColorF[], SKColorSpace, Single[], SKShaderTileMode, Single, Single) |
Tworzy cieniowanie, które generuje gradient zamiatania z zakresem kątowym w określonej przestrzeni kolorów. |
| CreateSweepGradient(SKPoint, SKColorF[], SKColorSpace, Single[]) |
Tworzy cieniowanie, które generuje gradient zamiatania w określonej przestrzeni kolorów. |
| CreateSweepGradient(SKPoint, SKColorF[], SKColorSpace, SKShaderTileMode, Single, Single) |
Tworzy cieniowanie, które generuje gradient zamiatania z zakresem kątowym w określonej przestrzeni kolorów. |
| CreateSweepGradient(SKPoint, SKColorF[], SKColorSpace) |
Tworzy cieniowanie, które generuje gradient zamiatania w określonej przestrzeni kolorów. |
| CreateTwoPointConicalGradient(SKPoint, Single, SKPoint, Single, SKColor[], Single[], SKShaderTileMode, SKMatrix) |
Tworzy cieniowanie, które generuje gradient stożkowy na podstawie dwóch okręgów. |
| CreateTwoPointConicalGradient(SKPoint, Single, SKPoint, Single, SKColor[], Single[], SKShaderTileMode) |
Tworzy cieniowanie, które generuje gradient stożkowy na podstawie dwóch okręgów. |
| CreateTwoPointConicalGradient(SKPoint, Single, SKPoint, Single, SKColor[], SKShaderTileMode) |
Tworzy cieniowanie, które generuje gradient stożkowy na podstawie dwóch okręgów. |
| CreateTwoPointConicalGradient(SKPoint, Single, SKPoint, Single, SKColorF[], SKColorSpace, Single[], SKShaderTileMode, SKMatrix) |
Tworzy cieniowanie, które generuje gradient stożkowy w określonej przestrzeni kolorów. |
| CreateTwoPointConicalGradient(SKPoint, Single, SKPoint, Single, SKColorF[], SKColorSpace, Single[], SKShaderTileMode) |
Tworzy cieniowanie, które generuje gradient stożkowy w określonej przestrzeni kolorów. |
| CreateTwoPointConicalGradient(SKPoint, Single, SKPoint, Single, SKColorF[], SKColorSpace, SKShaderTileMode) |
Tworzy cieniowanie, które generuje gradient stożkowy w określonej przestrzeni kolorów. |
| Dispose() |
Zwalnia wszystkie zasoby używane przez ten SKNativeObjectprogram . (Odziedziczone po SKNativeObject) |
| Dispose(Boolean) |
Zwalnia niezarządzane zasoby używane przez SKShader program i opcjonalnie zwalnia zarządzane zasoby. |
| DisposeInternal() |
Wyzwala usuwanie, ignorując wartość IgnorePublicDispose. (Odziedziczone po SKNativeObject) |
| DisposeManaged() |
Zaimplementowane przez typy pochodne SKObject w celu zniszczenia wszystkich zarządzanych obiektów. (Odziedziczone po SKObject) |
| DisposeNative() |
Zaimplementowane przez typy pochodne SKObject w celu zniszczenia wszelkich obiektów natywnych. (Odziedziczone po SKObject) |
| DisposeUnownedManaged() |
Zaimplementowane przez typy pochodne SKObject do usuwania obiektów zarządzanych, które nie są własnością tego wystąpienia. (Odziedziczone po SKObject) |
| WithColorFilter(SKColorFilter) |
Zwraca nowy moduł cieniujący, który tworzy te same kolory co ten cieniowanie, ale z zastosowanym określonym filtrem kolorów. |
| WithLocalMatrix(SKMatrix) |
Zwraca nowy moduł cieniujący, który tworzy te same kolory co ten cieniator, ale z określoną macierzą przekształcania zastosowaną. |