Travailler avec des pinceaux et des dégradés

Solution d’API C# .NET pour travailler avec des pinceaux et des dégradés de fichiers XPS.

 

Aspose.Page pour la solution API .NET vous permet de manipuler des graphiques vectoriels de fichiers XPS. Vous pouvez créer diverses formes géométriques de différentes couleurs et textures. Sur cette page seront décrits quelques exemples de la façon d'ajouter différents espaces colorimétriques et dégradés, et comment travailler avec différents pinceaux. En travaillant de manière analogique, vous pourrez créer n'importe quelle figure géométrique dont vous avez besoin de n'importe quelle couleur.

Pour manipuler les pinceaux et les dégradés des fichiers XPS, nous avons besoin :

  • Aspose.Page pour l'API .NET qui est une API de manipulation et de conversion de documents riche en fonctionnalités, puissante et facile à utiliser pour la plate-forme C#.

  • Ouvrez le gestionnaire de packages NuGet, recherchez Aspose.Page et installez. Vous pouvez également utiliser la commande suivante à partir de la console du gestionnaire de packages.

Package Manager Console Command


    PM> Install-Package Aspose.Page

Étapes pour appliquer des espaces colorimétriques avec C# .NET.

  1. Définissez le chemin d’accès au répertoire des documents.
  2. Créez un fichier XPS à l’aide de XpsDocument Class .
  3. Pour créer différents rectangles remplis de couleurs unies, utilisez les méthodes de la classe XpsPath .
  4. Enregistrez le document XPS modifié à l’aide de la méthode XPsDocument.Save() .

Code C# pour définir les espaces colorimétriques d'un fichier XPS

    using Aspose.Page.XPS;
    using Aspose.Page.XPS.XpsModel;
    using System.Drawing;
    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithShapes();
            
    // Create a new XPS Document
    XpsDocument doc = new XpsDocument();

    // ARGB solid color filled rectangle
    XpsPath rect1 = doc.AddPath(doc.CreatePathGeometry("M 20,10 L 220,10 220,100 20,100 Z"));
    rect1.Fill = doc.CreateSolidColorBrush(doc.CreateColor(Color.FromArgb(222, 12, 15, 159)));

    // ARGB solid color filled rectangle, in another way
    XpsPath rect2 = doc.AddPath(doc.CreatePathGeometry("M 20,210 L 220,210 220,300 20,300 Z"));
    rect2.Fill = doc.CreateSolidColorBrush(doc.CreateColor(222, 12, 15, 159));

    // sRGB solid color filled rectangle
    XpsPath rect3 = doc.AddPath(doc.CreatePathGeometry("M 20,410 L 220,410 220,500 20,500 Z"));
    rect3.Fill = doc.CreateSolidColorBrush(doc.CreateColor(12, 15, 159));

    // scRGB solid color filled rectangle
    XpsPath rect4 = doc.AddPath(doc.CreatePathGeometry("M 20,610 L 220,610 220,700 20,700 Z"));
    rect4.Fill = doc.CreateSolidColorBrush(doc.CreateColor(0.08706f, 0.04706f, 0.05882f, 0.62353f));

    // CMYK (blue) solid color filled rectangle
    XpsPath rect5 = doc.AddPath(doc.CreatePathGeometry("M 20,810 L 220,810 220,900 20,900 Z"));
    rect5.Fill = doc.CreateSolidColorBrush(
        doc.CreateColor(dataDir + "uswebuncoated.icc", 1.0f, 1.000f, 0.000f, 0.000f, 0.000f));
            
    // Save the resultant XPS document
    doc.Save(dataDir + "ApplyDifferentColorSpaces_out.xps");
L'extrait de code suivant montre comment utiliser le pinceau visuel d'un fichier XPS dans la solution Aspose.Page pour .NET Api.

Étapes pour travailler avec le pinceau visuel avec C#.

  1. Définissez le chemin d’accès au répertoire des documents.
  2. Créez un fichier XPS à l’aide de la classe XpsDocument.
  3. Créez une géométrie pour la grille magenta Visual Brush à l’aide de la classe XpsPathGeometry .
  4. Pour définir le canevas de la grille magenta Visual Brush, utilisez la méthode CreateCanvas() .
  5. Pour créer Visual Brush, utilisez la méthode CreateVisualBrush() .
  6. Enregistrez le document XPS modifié au moyen de la méthode XPsDocument.Save().

Code C# pour manipuler le pinceau visuel d'un fichier XPS

    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithVisualBrush();

    XpsDocument doc = new XpsDocument();
    // Geometry for the magenta grid VisualBrush
    XpsPathGeometry pathGeometry = doc.CreatePathGeometry();
    pathGeometry.AddSegment(doc.CreatePolyLineSegment(
        new PointF[] { new PointF(240f, 5f), new PointF(240f, 310f), new PointF(0f, 310f) }));
    pathGeometry[0].StartPoint = new PointF(0f, 5f);

    // Canvas for the magenta grid VisualBrush
    XpsCanvas visualCanvas = doc.CreateCanvas();

    XpsPath visualPath = visualCanvas.AddPath(
        doc.CreatePathGeometry("M 0,4 L 4,4 4,0 6,0 6,4 10,4 10,6 6,6 6,10 4,10 4,6 0,6 Z"));
    visualPath.Fill = doc.CreateSolidColorBrush(doc.CreateColor(1f, .61f, 0.1f, 0.61f));

    XpsPath gridPath = doc.CreatePath(pathGeometry);
    // Create the Visual Brush, it is specified by some XPS fragment (vector graphics and glyphs)
    gridPath.Fill = doc.CreateVisualBrush(visualCanvas,
        new RectangleF(0f, 0f, 10f, 10f), new RectangleF(0f, 0f, 10f, 10f));
    ((XpsVisualBrush)gridPath.Fill).TileMode = XpsTileMode.Tile;
    // New canvas
    XpsCanvas canvas = doc.AddCanvas();
    canvas.RenderTransform = doc.CreateMatrix(1f, 0f, 0f, 1f, 268f, 70f);
    // Add a grid
    canvas.AddPath(pathGeometry);
    // Red transparent rectangle in the middle top
    XpsPath path = canvas.AddPath(doc.CreatePathGeometry("M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"));
    path = canvas.AddPath(doc.CreatePathGeometry("M 10,10 L 228,10 228,100 10,100"));
    path.Fill = doc.CreateSolidColorBrush(doc.CreateColor(1.0f, 0.0f, 0.0f));
    path.Opacity = 0.7f;
    // Save the resultant XPS document
    doc.Save(dataDir + "AddGrid_out.xps");

Étapes pour ajouter un dégradé horizontal avec C#.

  1. Définissez le chemin d’accès au répertoire des documents.
  2. Créez un fichier XPS à l’aide de la classe XpsDocument.
  3. Initialisez une liste de XpsGradentStop à l’aide de CreateGradientStop() et CreateColor() Méthodes.
  4. Créez un nouveau chemin en définissant la géométrie sous forme d’abréviation à l’aide des méthodes de la classe XpsPath.
  5. Enregistrez le document XPS modifié au moyen de la méthode XPsDocument.Save().

Code C# pour insérer un dégradé horizontal dans un fichier XPS

    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithGradient();
    // Create a new XPS Document
    XpsDocument doc = new XpsDocument();

    // Initialize the List of XpsGradentStop
    List<XpsGradientStop> stops = new List<XpsGradientStop>();
    stops.Add(doc.CreateGradientStop(doc.CreateColor(255, 244, 253, 225), 0.0673828f));
    stops.Add(doc.CreateGradientStop(doc.CreateColor(255, 251, 240, 23), 0.314453f));
    stops.Add(doc.CreateGradientStop(doc.CreateColor(255, 252, 209, 0), 0.482422f));
    stops.Add(doc.CreateGradientStop(doc.CreateColor(255, 241, 254, 161), 0.634766f));
    stops.Add(doc.CreateGradientStop(doc.CreateColor(255, 53, 253, 255), 0.915039f));
    stops.Add(doc.CreateGradientStop(doc.CreateColor(255, 12, 91, 248), 1f));

    // Create a new path by defining the geometery in the abbreviation form
    XpsPath path = doc.AddPath(doc.CreatePathGeometry("M 10,210 L 228,210 228,300 10,300"));
    path.RenderTransform = doc.CreateMatrix(1f, 0f, 0f, 1f, 20f, 70f);
    path.Fill = doc.CreateLinearGradientBrush(new PointF(10f, 0f), new PointF(228f, 0f));
    ((XpsGradientBrush)path.Fill).GradientStops.AddRange(stops);

    // Save the resultant XPS document
    doc.Save(dataDir + "AddHorizontalGradient_out.xps");



FAQ

1. Comment puis-je ajouter un dégradé à un fichier XPS ?

Définissez le chemin d’accès au répertoire des documents. Pour ajouter un dégradé, utilisez les méthodes CreateColor() et CreateGradientStop().

2. Comment travailler avec un pinceau visuel dans un fichier XPS ?

Définissez le chemin d’accès au répertoire des documents. Pour créer un pinceau visuel, utilisez la méthode CreateVisualBrush().

3. Comment ouvrir un fichier XPS ?

Utilisez la solution API Aspose.Page pour ouvrir XPS un fichier par programme ou au moyen d’une multiplateforme XPS Viewer .

XPS Qu'est-ce que le format de fichier XPS

Le format XPS est similaire au format PDF. Les deux sont des formats de langage de description de page (PDL). EPS est basé sur HTML et non sur le langage PostScript. Le fichier .eps est capable de contenir un balisage de la structure du document ainsi que des informations sur l'apparence du document. Il existe également des instructions supplémentaires sur la façon d'imprimer et de rendre le document. La caractéristique du format est qu'il fixe la description du document, ce qui signifie qu'il aura le même aspect, peu importe qui et à partir de quel système opérationnel l'ouvre.