Trabalhando com pincéis e gradientes

Solução C# .NET API para trabalhar com brushes e gradientes de arquivos XPS.

 

A solução Aspose.Page para .NET API permite manipular gráficos vetoriais de arquivos XPS. Você pode criar várias formas geométricas de diferentes cores e texturas. Nesta página serão descritos alguns exemplos de como adicionar diferentes espaços de cores e gradientes e como trabalhar com diferentes pincéis. Trabalhando analogicamente, você poderá criar qualquer figura geométrica que precisar de qualquer cor.

Para manipular pincéis e gradientes de arquivos XPS, precisamos:

  • Aspose.Page for .NET API, que é uma API de manipulação e conversão de documentos rica em recursos, poderosa e fácil de usar para plataforma C#.

  • Abra o gerenciador de pacotes NuGet, pesquise Aspose.Page e instale. Você também pode usar o seguinte comando do Console do Gerenciador de Pacotes.

Package Manager Console Command


    PM> Install-Package Aspose.Page

Etapas para aplicar espaços de cores com C# .NET.

  1. Defina o caminho para o diretório de documentos.
  2. Crie um arquivo XPS usando a XpsDocument Class .
  3. Para criar diferentes retângulos preenchidos com cores sólidas, use métodos da classe XpsPath .
  4. Salve o documento XPS alterado usando o método XPsDocument.Save() .

Código C# para definir espaços de cores de um arquivo 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");
O próximo trecho de código mostra como usar o visual brush de um arquivo XPS dentro do Aspose.Page for .NET Api Solution.

Etapas para trabalhar com pincel visual com C#.

  1. Defina o caminho para o diretório de documentos.
  2. Crie um arquivo XPS usando a XpsDocument Class.
  3. Crie geometria para o Visual Brush de grade magenta usando a classe XpsPathGeometry .
  4. Para definir a tela para a grade magenta Visual Brush, use o método CreateCanvas() .
  5. Para criar o Visual Brush, use o método CreateVisualBrush() .
  6. Salve o documento XPS alterado por meio do método XPsDocument.Save().

Código C# para manipular o pincel visual de um arquivo 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");

Etapas para adicionar gradiente horizontal com C#.

  1. Defina o caminho para o diretório de documentos.
  2. Crie um arquivo XPS usando a XpsDocument Class.
  3. Inicialize uma lista de XpsGradentStop usando CreateGradientStop() e CreateColor() Métodos.
  4. Crie um novo caminho definindo a geometria em uma forma de abreviação usando métodos da classe XpsPath.
  5. Salve o documento XPS alterado por meio do método XPsDocument.Save().

Código C# para inserir gradiente horizontal em um arquivo 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");



Perguntas frequentes

1. Como posso adicionar um gradiente a um arquivo XPS?

Defina o caminho para o diretório de documentos. Para adicionar gradiente use os métodos CreateColor() e CreateGradientStop().

2. Como trabalhar com pincel visual em um arquivo XPS?

Defina o caminho para o diretório de documentos. Para criar um pincel visual use o método CreateVisualBrush().

3. Como abrir o arquivo XPS?

Use a solução Aspose.Page API para abrir XPS arquivo programaticamente ou por meio de plataforma cruzada XPS Viewer .

XPS O que é XPS Formato de Arquivo

O formato XPS é semelhante ao formato PDF. Ambos são formatos de linguagem de descrição de página (PDL). EPS é baseado em HTML e não em linguagem PostScript. O arquivo .eps é capaz de conter uma marcação da estrutura do documento junto com as informações de como o documento ficaria. Há também instruções adicionadas sobre como imprimir e renderizar o documento. A característica do formato é que ele corrige a descrição do documento, o que significa que ele terá a mesma aparência, não importa quem e de qual sistema operacional o abra.