SKPaint Klasa

Definicja

Przechowuje informacje o stylu i kolorze dotyczące rysowania geometrii, tekstu i map bitowych.

public class SKPaint : SkiaSharp.SKObject
Dziedziczenie

Przykłady

Prosty przykład

W poniższym przykładzie przedstawiono trzy różne farby, z których każda jest skonfigurowana do rysowania w innym stylu. Obiekt wywołujący może swobodnie przeplatać te farby, używając ich w taki sposób, lub modyfikując je, gdy rysunek będzie kontynuowany.

var info = new SKImageInfo(256, 256);
using (var surface = SKSurface.Create(info)) {
    SKCanvas canvas = surface.Canvas;

    canvas.Clear(SKColors.White);

    using var font = new SKFont { Size = 64.0f };
    using var scaledFont = new SKFont { Size = 64.0f, ScaleX = 1.5f };

    using var paint1 = new SKPaint {
        IsAntialias = true,
        Color = new SKColor(255, 0, 0),
        Style = SKPaintStyle.Fill
    };

    using var paint2 = new SKPaint {
        IsAntialias = true,
        Color = new SKColor(0, 136, 0),
        Style = SKPaintStyle.Stroke,
        StrokeWidth = 3
    };

    using var paint3 = new SKPaint {
        IsAntialias = true,
        Color = new SKColor(136, 136, 136)
    };

    var text = "Skia!";
    canvas.DrawText(text, 20.0f, 64.0f, SKTextAlign.Left, font, paint1);
    canvas.DrawText(text, 20.0f, 144.0f, SKTextAlign.Left, font, paint2);
    canvas.DrawText(text, 20.0f, 224.0f, SKTextAlign.Left, scaledFont, paint3);
}

W powyższym przykładzie przedstawiono następujące dane:

SKPaint i Text SKPaint

Przykład efektów

Poniższy przykład rysuje gradient zamiast jednego koloru. W tym celu element jest SKShader przypisany do farby. Wszystko narysowane za pomocą tej farby zostanie narysowane z gradientem określonym w wywołaniu metody SKShader.CreateLinearGradient.

var info = new SKImageInfo(256, 256);
using (var surface = SKSurface.Create(info)) {
    SKCanvas canvas = surface.Canvas;

    canvas.Clear(SKColors.White);

    // create a gradient
    var colors = new[] {
        SKColors.Blue,
        SKColors.Yellow
    };
    var shader = SKShader.CreateLinearGradient(
        new SKPoint(0.0f, 0.0f),
        new SKPoint(256.0f, 256.0f),
        colors,
        null,
        SKShaderTileMode.Clamp);

    // assign the gradient to the paint
    var paint = new SKPaint {
        Shader = shader
    };

    canvas.DrawPaint(paint);
}

W powyższym przykładzie przedstawiono następujące dane:

SKPaint i SKShader

Uwagi

Za każdym razem, gdy narysujesz coś w skiaSharp i chcesz określić, jaki jest kolor, lub w jaki sposób łączy się z tłem, albo jaki styl lub czcionka narysować, należy określić te atrybuty w farbie.

W przeciwieństwie do SKCanvasobiektu farby nie utrzymuje wewnętrznego stosu stanu. Oznacza to, że nie ma zapisywania/przywracania na farbie. Jednak obiekty farby są stosunkowo lekkie, więc klient może tworzyć i utrzymywać dowolną liczbę obiektów farby, z których każdy jest skonfigurowany do określonego użytku.

Uwzględnianie wszystkich tych atrybutów kolorów i stylistycznych poza stanem kanwy, a także do (wielu) obiektów malowania, umożliwia operacje zapisywania i przywracania na SKCanvas obiekcie tak, aby były o wiele bardziej wydajne, ponieważ wszystko, co muszą zrobić, to zachować stos ustawień macierzy i klipów.

Efekty

Poza prostymi atrybutami, takimi jak kolor, pociągnięcia i wartości tekstowe, farby obsługują efekty. Są to podklasy różnych aspektów potoku rysunku, do których odwołuje się farba, aby zastąpić część potoku rysunku.

Istnieje pięć rodzajów efektów, które można przypisać do obiektu farby:

Efekt Szczegóły
Tryb mieszania Tryby mieszania i tryby transferu Duff-Porter.
Filtr kolorów Modyfikacja kolorów źródłowych przed zastosowaniem trybu mieszania.
Filtr maski Modyfikacja maski alfa przed kolorem i narysowanym (na przykład rozmyciem).
Efekt ścieżki Modyfikacja geometrii (ścieżki) przed wygenerowaniem maski alfa (na przykład kreskowania).
Modułu cieniującego Gradienty i wzorce map bitowych.

Konstruktory

Nazwa Opis
SKPaint()

Inicjuje nowe wystąpienie SKPaint klasy z ustawieniami domyślnymi.

Właściwości

Nazwa Opis
Blender

Pobiera lub ustawia niestandardowy SKBlender element do komponowania.

BlendMode

Pobiera lub ustawia tryb mieszania.

Color

Pobiera lub ustawia kolor pierwszego planu farby.

ColorF

Pobiera lub ustawia kolor farby jako SKColorF (zmiennoprzecinkowe RGBA).

ColorFilter

Pobiera lub ustawia filtr kolorów farby.

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)
ImageFilter

Pobiera lub ustawia filtr obrazu.

IsAntialias

Pobiera lub ustawia wartość wskazującą, czy włączono funkcję anty aliasowania.

IsDisposed

Pobiera wartość wskazującą, czy obiekt został już usunięty.

(Odziedziczone po SKNativeObject)
IsDither

Pobiera lub ustawia wartość wskazującą, czy włączono dithering.

IsStroke

Pobiera lub ustawia wartość wskazującą, czy namalować pociągnięcie, czy wypełnienie.

MaskFilter

Pobiera lub ustawia filtr maski do użycia podczas malowania.

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)
PathEffect

Pobiera lub ustawia efekt ścieżki do użycia podczas malowania.

Shader

Pobiera lub ustawia cieniowanie do użycia podczas malowania.

StrokeCap

Pobiera lub ustawia wartość wskazującą, jak są traktowane linie początkowe i końcowe linii i ścieżek pociągnięć.

StrokeJoin

Pobiera lub ustawia typ sprzężenia ścieżki.

StrokeMiter

Pobiera lub ustawia limit miter farby.

StrokeWidth

Pobiera lub ustawia szerokość pociągnięcia farby.

Style

Pobiera lub ustawia styl malowania.

Metody

Nazwa Opis
Clone()

Tworzy kopię bieżącej farby.

Dispose()

Zwalnia wszystkie zasoby używane przez ten SKNativeObjectprogram .

(Odziedziczone po SKNativeObject)
Dispose(Boolean)

Zwalnia niezarządzane zasoby używane przez SKPaint 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.

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)
GetFillPath(SKPath, Single)

Tworzy nową ścieżkę z wyniku zastosowania dowolnych i wszystkich efektów do ścieżki źródłowej.

GetFillPath(SKPath, SKMatrix)

Tworzy nową ścieżkę z wyniku zastosowania dowolnych i wszystkich efektów do ścieżki źródłowej z macierzą transformacji.

GetFillPath(SKPath, SKPath, Single)
Przestarzałe.

Stosuje dowolne i wszystkie efekty do ścieżki źródłowej, zwracając wynik w miejscu docelowym.

GetFillPath(SKPath, SKPath, SKMatrix)
Przestarzałe.

Stosuje wszystkie efekty do ścieżki źródłowej z macierzą transformacji, zapisują wynik w miejscu docelowym.

GetFillPath(SKPath, SKPath, SKRect, Single)
Przestarzałe.

Stosuje dowolne i wszystkie efekty do ścieżki źródłowej, zwracając wynik w miejscu docelowym.

GetFillPath(SKPath, SKPath, SKRect, SKMatrix)
Przestarzałe.

Stosuje dowolne i wszystkie efekty do ścieżki źródłowej z uśmiercanie i przekształcanie, zapisując wynik do miejsca docelowego.

GetFillPath(SKPath, SKPath, SKRect)
Przestarzałe.

Stosuje dowolne i wszystkie efekty do ścieżki źródłowej, zwracając wynik w miejscu docelowym.

GetFillPath(SKPath, SKPath)
Przestarzałe.

Stosuje dowolne i wszystkie efekty do ścieżki źródłowej, zwracając wynik w miejscu docelowym.

GetFillPath(SKPath, SKPathBuilder, Single)

Oblicza wypełnioną geometrię ścieżki źródłowej w określonej skali rozdzielczości i zapisuje wynik w konstruktorze ścieżek docelowych.

GetFillPath(SKPath, SKPathBuilder, SKMatrix)

Oblicza wypełnioną geometrię ścieżki źródłowej po zastosowaniu macierzy transformacji i zapisuje wynik w konstruktorze ścieżki docelowej.

GetFillPath(SKPath, SKPathBuilder, SKRect, Single)

Oblicza wypełnioną geometrię ścieżki źródłowej w prostokątze cull w określonej skali rozdzielczości i zapisuje wynik w konstruktorze ścieżek docelowych.

GetFillPath(SKPath, SKPathBuilder, SKRect, SKMatrix)

Oblicza wypełnioną geometrię ścieżki źródłowej w prostokątze cull po zastosowaniu macierzy przekształceń i zapisuje wynik w konstruktorze ścieżek docelowych.

GetFillPath(SKPath, SKPathBuilder, SKRect)

Oblicza wypełnioną geometrię ścieżki źródłowej w prostokątze cull i zapisuje wynik w konstruktorze ścieżki docelowej.

GetFillPath(SKPath, SKPathBuilder)

Oblicza wypełnioną geometrię ścieżki źródłowej przy użyciu stylu tej farby i zapisuje wynik w konstruktorze ścieżki docelowej.

GetFillPath(SKPath, SKRect, Single)

Tworzy nową ścieżkę z wyniku zastosowania dowolnych i wszystkich efektów do ścieżki źródłowej.

GetFillPath(SKPath, SKRect, SKMatrix)

Tworzy nową ścieżkę na podstawie wyniku zastosowania efektów do ścieżki źródłowej z uśmiercaniem i przekształceniem.

GetFillPath(SKPath, SKRect)

Tworzy nową ścieżkę z wyniku zastosowania dowolnych i wszystkich efektów do ścieżki źródłowej.

GetFillPath(SKPath)

Tworzy nową ścieżkę z wyniku zastosowania dowolnych i wszystkich efektów do ścieżki źródłowej.

Reset()

Resetuje wszystkie właściwości farby do swoich wartości domyślnych.

SetColor(SKColorF, SKColorSpace)

Ustawia kolor farby przy użyciu wartości koloru zmiennoprzecinkowego w określonej przestrzeni kolorów.

Dotyczy