Arbeiten mit Pinseln und Farbverläufen

C# .NET API-Lösung zum Arbeiten mit Pinseln und Verläufen von XPS-Dateien.

 

Mit Aspose.Page für die .NET-API-Lösung können Sie Vektorgrafiken von XPS-Dateien bearbeiten. Sie können verschiedene geometrische Formen mit unterschiedlichen Farben und Texturen erstellen. Auf dieser Seite werden einige Beispiele beschrieben, wie man verschiedene Farbräume und Farbverläufe hinzufügt und wie man mit verschiedenen Pinseln arbeitet. Wenn Sie analog arbeiten, können Sie jede gewünschte geometrische Figur in jeder Farbe erstellen.

Um Pinsel und Farbverläufe von XPS-Dateien zu manipulieren, benötigen wir:

  • Aspose.Page für die .NET-API, eine funktionsreiche, leistungsstarke und einfach zu verwendende API zur Dokumentenbearbeitung und -konvertierung für die C#-Plattform.

  • Öffnen Sie den NuGet-Paket-Manager, suchen Sie nach Aspose.Page und installieren Sie es. Sie können auch den folgenden Befehl in der Paket-Manager-Konsole verwenden.

Package Manager Console Command


    PM> Install-Package Aspose.Page

Schritte zum Anwenden von Farbräumen mit C# .NET.

  1. Legen Sie den Pfad zum Dokumentenverzeichnis fest.
  2. Erstellen Sie eine XPS-Datei mit der XpsDocument Class .
  3. Verwenden Sie Methoden der Klasse XpsPath , um verschiedene einfarbig gefüllte Rechtecke zu erstellen.
  4. Speichern Sie das geänderte XPS-Dokument mit der Methode XPsDocument.Save() .

C#-Code zum Festlegen von Farbräumen einer XPS-Datei

    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");
Das nächste Code-Snippet zeigt, wie der visuelle Pinsel einer XPS-Datei innerhalb der Aspose.Page für .NET-API-Lösung verwendet wird.

Schritte zum Arbeiten mit dem visuellen Pinsel mit C#.

  1. Legen Sie den Pfad zum Dokumentenverzeichnis fest.
  2. Erstellen Sie eine XPS-Datei mit der Klasse XpsDocument.
  3. Erstellen Sie mithilfe der Klasse XpsPathGeometry eine Geometrie für den visuellen Pinsel mit magentafarbenem Gitter.
  4. Verwenden Sie die Methode CreateCanvas() , um die Leinwand für den visuellen Pinsel mit magentafarbenem Gitter festzulegen.
  5. Verwenden Sie zum Erstellen von Visual Brush die Methode CreateVisualBrush() .
  6. Speichern Sie das geänderte XPS-Dokument mit der Methode XPsDocument.Save().

C#-Code zum Bearbeiten des visuellen Pinsels einer XPS-Datei

    // 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");

Schritte zum Hinzufügen eines horizontalen Farbverlaufs mit C#.

  1. Legen Sie den Pfad zum Dokumentenverzeichnis fest.
  2. Erstellen Sie eine XPS-Datei mit der Klasse XpsDocument.
  3. Initialisieren Sie eine Liste von XpsGradientStop mit den Befehlen CreateGradientStop() und CreateColor() Methoden.
  4. Erstellen Sie einen neuen Pfad, indem Sie Geometrie in einer Abkürzungsform mit Methoden der XpsPath-Klasse definieren.
  5. Speichern Sie das geänderte XPS-Dokument mit der Methode XPsDocument.Save().

C#-Code zum Einfügen eines horizontalen Farbverlaufs in eine XPS-Datei

    // 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. Wie kann ich einer XPS-Datei einen Farbverlauf hinzufügen?

Legen Sie den Pfad zum Dokumentenverzeichnis fest. Um einen Farbverlauf hinzuzufügen, verwenden Sie die Methoden CreateColor() und CreateGradientStop().

2. Wie arbeite ich mit einem visuellen Pinsel in einer XPS-Datei?

Legen Sie den Pfad zum Dokumentenverzeichnis fest. Um einen visuellen Pinsel zu erstellen, verwenden Sie die Methode CreateVisualBrush().

3. Wie öffne ich eine XPS-Datei?

Verwenden Sie die Aspose.Page API-Lösung, um open XPS Dateien programmgesteuert oder plattformübergreifend XPS Viewer zu erstellen.

XPS Was ist XPS Dateiformat

Das XPS-Format ähnelt dem PDF-Format. Beides sind Formate der Seitenbeschreibungssprache (PDL). EPS basiert auf HTML und nicht auf der PostScript-Sprache. Die .eps-Datei kann ein Markup der Dokumentstruktur zusammen mit Informationen darüber enthalten, wie das Dokument aussehen würde. Es gibt auch Anweisungen zum Drucken und Rendern des Dokuments. Das Merkmal des Formats ist, dass es die Beschreibung des Dokuments festlegt, was bedeutet, dass es gleich aussieht, egal wer und von welchem ​​​​Betriebssystem es öffnet.