Pinsel und Gradienten in XPS
C# .NET API-Lösung zur Arbeit mit Pinseln und Gradienten von XPS-Dateien.
Mit der Aspose.Page for .NET API-Lösung können Sie Vektorgrafiken von XPS-Dateien bearbeiten. Sie können verschiedene geometrische Formen in unterschiedlichen Farben und Texturen erstellen. Auf dieser Seite werden einige Beispiele beschrieben, wie Sie verschiedene Farbräume und Gradienten hinzufügen und wie Sie mit verschiedenen Pinseln arbeiten. Analog dazu können Sie jede beliebige geometrische Figur in jeder Farbe erstellen.
Um Pinsel und Gradienten von XPS-Dateien zu bearbeiten, benötigen wir:
Aspose.Page for .NET API, eine funktionsreiche, leistungsstarke und benutzerfreundliche Dokumentbearbeitungs- und Konvertierungs-API 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.
- Legen Sie den Pfad zum Dokumentverzeichnis fest.
- Erstellen Sie eine XPS-Datei mit der XpsDocument Class .
- Um verschiedene mit Volltonfarben gefüllte Rechtecke zu erstellen, verwenden Sie Methoden der XpsPath .
- 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");Schritte zur Arbeit mit visuellen Pinseln mit C#.
- Legen Sie den Pfad zum Dokumentverzeichnis fest.
- Erstellen Sie eine XPS-Datei mit der XpsDocument-Klasse.
- Erstellen Sie die Geometrie für den magentafarbenen Gitter-Visuellen-Pinsel mit der XpsPathGeometry .
- Um die Leinwand für den magentafarbenen Gitter-Visuellen-Pinsel festzulegen, verwenden Sie die Methode CreateCanvas() .
- Um den Visuellen Pinsel zu erstellen, verwenden Sie die Methode CreateVisualBrush() .
- Save the changed XPS document by means of XPsDocument.Save().
C#-Code zum Bearbeiten visueller Pinsel 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 Gradienten mit C#.
- Legen Sie den Pfad zum Dokumentverzeichnis fest.
- Erstellen Sie eine XPS-Datei mit der XpsDocument-Klasse.
- Initialisieren Sie eine Liste von XpsGradentStop mit den Methoden CreateGradientStop() und CreateColor() .
- Erstellen Sie einen neuen Pfad, indem Sie die Geometrie in abgekürzter Form mit Methoden der XpsPath-Klasse definieren.
- Speichern Sie das geänderte XPS-Dokument mit der Methode XPsDocument.Save().
C#-Code zum Einfügen eines horizontalen Gradienten 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 What is XPS File Format
XPS (XML Paper Specification) ist Microsofts PDF‑Äquivalent. Es basiert auf XML/HTML, bewahrt das Layout über verschiedene Plattformen hinweg und ist unabhängig vom Betriebssystem.