Lavorare con pennelli e sfumature
Soluzione API C# .NET per lavorare con pennelli e gradienti di file XPS.
La soluzione Aspose.Page per .NET API consente di manipolare la grafica vettoriale dei file XPS. Puoi creare varie forme geometriche di diversi colori e trame. In questa pagina verranno descritti alcuni esempi di come aggiungere diversi spazi colore e sfumature e come lavorare con diversi pennelli. Lavorando in modo analogico sarai in grado di creare qualsiasi figura geometrica di qualsiasi colore di cui hai bisogno.
Per manipolare pennelli e gradienti di file XPS, abbiamo bisogno di:
Aspose.Page per .NET API che è un'API di conversione e manipolazione dei documenti ricca di funzionalità, potente e facile da usare per la piattaforma C#.
Apri il gestore di pacchetti NuGet, cerca Aspose.Page e installa. È inoltre possibile utilizzare il seguente comando dalla Console di gestione pacchetti.
Package Manager Console Command
PM> Install-Package Aspose.Page
Passaggi per applicare gli spazi colore con C# .NET.
- Imposta il percorso della directory dei documenti.
- Crea un file XPS utilizzando la XpsDocument Class .
- Per creare rettangoli con riempimento di colore solido diversi, utilizzare i metodi della classe XpsPath .
- Salvare il documento XPS modificato utilizzando il metodo XPsDocument.Save() .
Codice C# per impostare gli spazi colore di un file 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");
Passaggi per lavorare con il pennello visivo con C#.
- Imposta il percorso della directory dei documenti.
- Crea un file XPS usando la XpsDocument Class.
- Crea la geometria per la griglia magenta Visual Brush utilizzando la classe XpsPathGeometry .
- Per impostare la tela per la griglia magenta Visual Brush, utilizzare il metodo CreateCanvas() .
- Per creare Visual Brush, utilizzare il metodo CreateVisualBrush() .
- Salvare il documento XPS modificato mediante il metodo XPsDocument.Save().
Codice C# per manipolare il pennello visivo di un file 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");
Passaggi per aggiungere una sfumatura orizzontale con C#.
- Imposta il percorso della directory dei documenti.
- Crea un file XPS usando la XpsDocument Class.
- Inizializza un elenco di XpsGradentStop utilizzando CreateGradientStop() e CreateColor() Metodi.
- Creare un nuovo percorso definendo la geometria in una forma di abbreviazione utilizzando i metodi della classe XpsPath.
- Salvare il documento XPS modificato mediante il metodo XPsDocument.Save().
Codice C# per inserire il gradiente orizzontale in un file 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. Come posso aggiungere una sfumatura a un file XPS?
Imposta il percorso della directory dei documenti. Per aggiungere una sfumatura utilizzare i metodi CreateColor() e CreateGradientStop().
2. Come lavorare con un pennello visivo in un file XPS?
Imposta il percorso della directory dei documenti. Per creare un pennello visivo utilizzare il metodo CreateVisualBrush().
3. Come aprire un file XPS?
Utilizzare la soluzione API Aspose.Page per aprire XPS file a livello di codice o tramite multipiattaforma XPS Viewer .
XPS Cos'è il formato file XPS
Il formato XPS è simile al formato PDF. Entrambi sono formati PDL (Page Description Language). EPS è basato su HTML e non sul linguaggio PostScript. Il file .eps è in grado di contenere un markup della struttura del documento insieme alle informazioni sull'aspetto del documento. Ci sono anche istruzioni aggiunte su come stampare e renderizzare il documento. La caratteristica del formato è che corregge la descrizione del documento, il che significa che avrà lo stesso aspetto indipendentemente da chi e da quale sistema operativo lo apra.