Pennelli e sfumature in XPS

Soluzione API C# .NET per lavorare con pennelli e sfumature di file XPS.

 

La soluzione API Aspose.Page per .NET ti 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 su come aggiungere diversi spazi colore, sfumature e come lavorare con diversi pennelli. Lavorando in modo analogo potrai creare qualsiasi figura geometrica di cui hai bisogno di qualsiasi colore.

Per manipolare pennelli e sfumature dei file XPS, abbiamo bisogno di:

  • Aspose.Page per l'API .NET, che è un'API di manipolazione e conversione di documenti ricca di funzionalità, potente e facile da usare per la piattaforma C#.

  • Apri il gestore pacchetti NuGet, cerca Aspose.Page e installalo. Puoi anche utilizzare il seguente comando dalla console del gestore pacchetti.

Package Manager Console Command


    PM> Install-Package Aspose.Page

Passaggi per applicare spazi colore con C# .NET.

  1. Imposta il percorso della directory dei documenti.
  2. Crea un file XPS utilizzando la XpsDocument Class .
  3. Per creare diversi rettangoli riempiti con colori a tinta unita, utilizza i metodi della classe XpsPath .
  4. Salva 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");
Il seguente frammento di codice mostra come utilizzare il pennello visivo di un file XPS all'interno della soluzione API Aspose.Page per .NET.

Passaggi per lavorare con il pennello visivo con C#.

  1. Imposta il percorso della directory dei documenti.
  2. Crea un file XPS utilizzando la classe XpsDocument.
  3. Crea la geometria per il pennello visivo a griglia magenta utilizzando la classe XpsPathGeometry .
  4. Per impostare l’area di disegno per il pennello visivo a griglia magenta, utilizza il metodo CreateCanvas() .
  5. Per creare il pennello visivo, utilizza il metodo CreateVisualBrush() .
  6. Salva il documento XPS modificato tramite 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#.

  1. Imposta il percorso della directory dei documenti.
  2. Crea un file XPS utilizzando la classe XpsDocument.
  3. Inizializza un elenco di XpsGradentStop utilizzando i metodi CreateGradientStop() e CreateColor() .
  4. Crea un nuovo tracciato definendo la geometria in forma abbreviata utilizzando i metodi della classe XpsPath.
  5. Salva il documento XPS modificato tramite il metodo XPsDocument.Save().

Codice C# per inserire una sfumatura 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

XPS (XML Paper Specification) è l’alternativa Microsoft al PDF. Basato su XML/HTML, mantiene il layout su diverse piattaforme ed è indipendente dal sistema operativo.