SKPaint Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Contient les informations de style et de couleur sur la façon de dessiner des géométries, du texte et des bitmaps.
public class SKPaint : SkiaSharp.SKObject
- Héritage
Exemples
Exemple simple
L’exemple suivant montre trois peintures différentes, chacune configurée pour dessiner dans un style différent. L’appelant peut mélanger ces peintures librement, soit les utiliser comme c’est le cas, soit les modifier à mesure que le dessin se poursuit.
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);
}
L’exemple ci-dessus produit les éléments suivants :
Exemple d’effets
L’exemple suivant dessine l’utilisation d’un dégradé au lieu d’une seule couleur. Pour ce faire, il SKShader est affecté à la peinture. Tout ce qui est dessiné avec cette peinture sera dessiné avec le dégradé spécifié dans l’appel à 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);
}
L’exemple ci-dessus produit les éléments suivants :
Remarques
Chaque fois que vous dessinez quelque chose dans SkiaSharp et que vous souhaitez spécifier la couleur qu’il est, ou comment il se mélange avec l’arrière-plan, ou quel style ou police le dessiner, vous spécifiez ces attributs dans une peinture.
Contrairement SKCanvasà , un objet paint ne conserve pas une pile interne d’état. Autrement dit, il n’y a pas d’enregistrement/restauration sur une peinture. Toutefois, les objets de peinture sont relativement légers, de sorte que le client peut créer et conserver un nombre quelconque d’objets de peinture, chaque configuration pour une utilisation particulière.
La factorisation de tous ces attributs de couleur et stylistiques hors de l’état du canevas, et dans (plusieurs) objets de peinture, permet aux opérations d’enregistrement et de restauration sur le SKCanvas site d’être beaucoup plus efficaces, car tout ce qu’ils doivent faire est de maintenir la pile des paramètres de matrice et de clip.
Effets
Au-delà des attributs simples tels que la couleur, les traits et les valeurs de texte, les peintures prennent en charge les effets. Il s’agit de sous-classes de différents aspects du pipeline de dessin, qui, lorsqu’elles sont référencées par une peinture, sont appelées pour remplacer une partie du pipeline de dessin.
Il existe cinq types d’effets qui peuvent être affectés à un objet de peinture :
| Résultat | Détails |
|---|---|
| Mode de fusion | Modes de fusion et modes de transfert Duff-Porter. |
| Filtre de couleur | Modification des couleurs sources avant d’appliquer le mode de fusion. |
| Filtre de masque | Modification du masque alpha avant qu’il soit colorisé et dessiné (par exemple, flou). |
| Effet de chemin d’accès | Modification de la géométrie (chemin) avant la génération du masque alpha (par exemple, tiret). |
| Shader | Dégradés et modèles bitmap. |
Constructeurs
| Nom | Description |
|---|---|
| SKPaint() |
Initialise une nouvelle instance de la SKPaint classe avec les paramètres par défaut. |
Propriétés
| Nom | Description |
|---|---|
| Blender |
Obtient ou définit la valeur personnalisée SKBlender pour la composition. |
| BlendMode |
Obtient ou définit le mode de fusion. |
| Color |
Obtient ou définit la couleur de premier plan de la peinture. |
| ColorF |
Obtient ou définit la couleur de la peinture en tant que SKColorF (RVBA à virgule flottante). |
| ColorFilter |
Obtient ou définit le filtre de couleur de la peinture. |
| Handle |
Obtient ou définit le handle sur l’objet natif sous-jacent. (Hérité de SKObject) |
| IgnorePublicDispose |
Obtient une valeur indiquant si l’appel public Dispose() doit être no-op. (Hérité de SKNativeObject) |
| ImageFilter |
Obtient ou définit le filtre d’image. |
| IsAntialias |
Obtient ou définit une valeur indiquant si l’anticrénelage est activé. |
| IsDisposed |
Obtient une valeur indiquant si l’objet a déjà été supprimé. (Hérité de SKNativeObject) |
| IsDither |
Obtient ou définit une valeur indiquant si le dithering est activé. |
| IsStroke |
Obtient ou définit une valeur indiquant s’il faut peindre un trait ou le remplissage. |
| MaskFilter |
Obtient ou définit le filtre de masque à utiliser lors de la peinture. |
| OwnsHandle |
Obtient ou définit une valeur indiquant si cet objet possède son handle et doit détruire l’objet natif lorsqu’il est supprimé. (Hérité de SKNativeObject) |
| PathEffect |
Obtient ou définit l’effet de chemin à utiliser lors de la peinture. |
| Shader |
Obtient ou définit le nuanceur à utiliser lors de la peinture. |
| StrokeCap |
Obtient ou définit une valeur indiquant comment le début et la fin des lignes et des chemins d’accès sont traités. |
| StrokeJoin |
Obtient ou définit le type de jointure du chemin d’accès. |
| StrokeMiter |
Obtient ou définit la limite de mitreur de la peinture. |
| StrokeWidth |
Obtient ou définit la largeur du trait de la peinture. |
| Style |
Obtient ou définit le style de peinture. |
Méthodes
| Nom | Description |
|---|---|
| Clone() |
Crée une copie de la peinture actuelle. |
| Dispose() |
Libère toutes les ressources utilisées par ce SKNativeObjectfichier . (Hérité de SKNativeObject) |
| Dispose(Boolean) |
Libère les ressources non managées utilisées par les SKPaint ressources gérées et libère éventuellement les ressources managées. |
| DisposeInternal() |
Déclenche une suppression, ignorant la valeur de IgnorePublicDispose. (Hérité de SKNativeObject) |
| DisposeManaged() |
Implémenté par des types dérivés SKObject pour détruire tous les objets managés. (Hérité de SKObject) |
| DisposeNative() |
Implémenté par des types dérivés SKObject pour détruire tous les objets natifs. |
| DisposeUnownedManaged() |
Implémenté par des types dérivés SKObject pour supprimer des objets managés qui ne appartiennent pas à cette instance. (Hérité de SKObject) |
| GetFillPath(SKPath, Single) |
Crée un chemin à partir du résultat de l’application de tous les effets à un chemin source. |
| GetFillPath(SKPath, SKMatrix) |
Crée un chemin à partir du résultat de l’application de tous les effets à un chemin source avec une matrice de transformation. |
| GetFillPath(SKPath, SKPath, Single) |
Obsolète.
Applique tous les effets à un chemin source, en retournant le résultat dans la destination. |
| GetFillPath(SKPath, SKPath, SKMatrix) |
Obsolète.
Applique tous les effets à un chemin source avec une matrice de transformation, en écrivant le résultat dans la destination. |
| GetFillPath(SKPath, SKPath, SKRect, Single) |
Obsolète.
Applique tous les effets à un chemin source, en retournant le résultat dans la destination. |
| GetFillPath(SKPath, SKPath, SKRect, SKMatrix) |
Obsolète.
Applique tous les effets à un chemin source avec le culling et la transformation, en écrivant le résultat dans la destination. |
| GetFillPath(SKPath, SKPath, SKRect) |
Obsolète.
Applique tous les effets à un chemin source, en retournant le résultat dans la destination. |
| GetFillPath(SKPath, SKPath) |
Obsolète.
Applique tous les effets à un chemin source, en retournant le résultat dans la destination. |
| GetFillPath(SKPath, SKPathBuilder, Single) |
Calcule la géométrie remplie du chemin source à l’échelle de résolution spécifiée et écrit le résultat dans le générateur de chemins de destination. |
| GetFillPath(SKPath, SKPathBuilder, SKMatrix) |
Calcule la géométrie remplie du chemin source après l’application d’une matrice de transformation et écrit le résultat dans le générateur de chemins de destination. |
| GetFillPath(SKPath, SKPathBuilder, SKRect, Single) |
Calcule la géométrie remplie du chemin d’accès source dans le rectangle de coupure à l’échelle de résolution spécifiée et écrit le résultat dans le générateur de chemins de destination. |
| GetFillPath(SKPath, SKPathBuilder, SKRect, SKMatrix) |
Calcule la géométrie remplie du chemin d’accès source dans le rectangle de coupure après l’application d’une matrice de transformation et écrit le résultat dans le générateur de chemins de destination. |
| GetFillPath(SKPath, SKPathBuilder, SKRect) |
Calcule la géométrie remplie du chemin d’accès source dans le rectangle de coupure et écrit le résultat dans le générateur de chemins de destination. |
| GetFillPath(SKPath, SKPathBuilder) |
Calcule la géométrie remplie du chemin source à l’aide du style de cette peinture et écrit le résultat dans le générateur de chemins de destination. |
| GetFillPath(SKPath, SKRect, Single) |
Crée un chemin à partir du résultat de l’application de tous les effets à un chemin source. |
| GetFillPath(SKPath, SKRect, SKMatrix) |
Crée un chemin d’accès à partir du résultat de l’application d’effets à un chemin source avec le culage et la transformation. |
| GetFillPath(SKPath, SKRect) |
Crée un chemin à partir du résultat de l’application de tous les effets à un chemin source. |
| GetFillPath(SKPath) |
Crée un chemin à partir du résultat de l’application de tous les effets à un chemin source. |
| Reset() |
Réinitialise toutes les propriétés de peinture à leurs valeurs par défaut. |
| SetColor(SKColorF, SKColorSpace) |
Définit la couleur de la peinture à l’aide d’une valeur de couleur à virgule flottante dans l’espace de couleur spécifié. |