SKPaint 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.
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:
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:
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. |