Pinceles de código y degradados de XPS

Solución API C++ para trabajar con pinceles y degradados de archivos XPS.

 

Aspose.Page API Solution para C++ le brinda la capacidad de manipular los gráficos vectoriales de los archivos XPS. Te permite crear varias formas geométricas con diferentes colores y texturas. Aprenda también la documentación de Aspose.Page sobre cómo trabajar con pinceles .

Para manipular pinceles y degradados de archivos XPS, necesitamos:

  • Aspose.Page para la API de C++, que es una API de manipulación y conversión de documentos rica en funciones, potente y fácil de usar para la plataforma C++.

  • Puede descargar su última versión directamente, simplemente abra el administrador de paquetes NuGet y busque Aspose.Page.Cpp e instálelo. También puede usar el siguiente comando desde la Consola del administrador de paquetes.

Package Manager Console Command


    PM> Install-Package Aspose.Page

Trabajar con pincel visual con C++

La API de Aspose.Page para C++ le permite agregar una cuadrícula a sus archivos XPS usando unas pocas líneas de código. Esto se puede hacer tanto para documentos nuevos como existentes. La clase XpsVisualBrush se utiliza para establecer las propiedades de la cuadrícula, utilizando XpsPathGeometry y XpsCanvas objetos. Para agregar una cuadrícula a su documento XPS, deberá seguir estos pasos:

  1. Usando la clase XpsDocument crea un objeto Document
  2. Cree un objeto XpsPathGeometry con los segmentos necesarios definidos.
  3. Utilice la clase XpsCanvas para establecer la transformación de representación.
  4. Ajuste las propiedades de Relleno y Opacidad como desee.
  5. Guarde el documento llamando al método Save().

Código C++ para agregar una cuadrícula a un pincel visual

    using Aspose::Page::XPS;
    using Aspose::Page::XPS::XpsModel;
    using System::Drawing;
    // Create geometry for a magenta grid VisualBrush
    System::SharedPtr<XpsPathGeometry> pathGeometry = doc->CreatePathGeometry();
    pathGeometry->AddSegment(doc->CreatePolyLineSegment(System::MakeArray<System::Drawing::PointF>({ System::Drawing::PointF(240.f, 5.f), System::Drawing::PointF(240.f, 310.f), System::Drawing::PointF(0.f, 310.f) })));
    pathGeometry->idx_get(0)->set_StartPoint(System::Drawing::PointF(0.f, 5.f));

    // Create canvas for the magenta grid VisualBrush
    System::SharedPtr<XpsCanvas> visualCanvas = doc->CreateCanvas();

    System::SharedPtr<XpsPath> visualPath = visualCanvas->AddPath(doc->CreatePathGeometry(u"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->set_Fill(doc->CreateSolidColorBrush(doc->CreateColor(1.f, .61f, 0.1f, 0.61f)));

    System::SharedPtr<XpsPath> gridPath = doc->CreatePath(pathGeometry);
    // Create a Visual Brush, it is specified by some XPS fragment (vector graphics and glyphs)
    gridPath->set_Fill(doc->CreateVisualBrush(visualCanvas, System::Drawing::RectangleF(0.f, 0.f, 10.f, 10.f), System::Drawing::RectangleF(0.f, 0.f, 10.f, 10.f)));
    (System::DynamicCast<Aspose::Page::Xps::XpsModel::XpsVisualBrush>(gridPath->get_Fill()))->set_TileMode(Aspose::Page::Xps::XpsModel::XpsTileMode::Tile);

    // Create a new canvas
    System::SharedPtr<XpsCanvas> canvas = doc->AddCanvas();
    canvas->set_RenderTransform(doc->CreateMatrix(1.f, 0.f, 0.f, 1.f, 268.f, 70.f));

    // Add a grid
    canvas->AddPath(gridPath);

    // Create a red transparent rectangle in the middle top
    System::SharedPtr<XpsPath> path = canvas->AddPath(doc->CreatePathGeometry(u"M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"));
    path = canvas->AddPath(doc->CreatePathGeometry(u"M 10,10 L 228,10 228,100 10,100"));
    path->set_Fill(doc->CreateSolidColorBrush(doc->CreateColor(1.0f, 0.0f, 0.0f)));
    path->set_Opacity(0.7f);

    // Save the resultant XPS document
    doc->Save(outDir() + u"AddGrid_out.xps");

Agrega degradado horizontal con C++.

La API de Aspose.Page para C++ le permite agregar una cuadrícula a sus archivos XPS usando unas pocas líneas de código. Esto se puede hacer tanto para documentos nuevos como existentes. La clase XpsVisualBrush se utiliza para establecer las propiedades de la cuadrícula, utilizando XpsPathGeometry y XpsCanvas objetos. Para agregar una cuadrícula a su documento XPS, deberá seguir estos pasos:

  1. Usando la clase XpsDocument crea un objeto Document
  2. Cree un objeto XpsPathGeometry con los segmentos necesarios definidos.
  3. Utilice la clase XpsCanvas para establecer la transformación de representación.
  4. Ajuste las propiedades de Relleno y Opacidad como desee.

Código C++ para insertar degradado horizontal en un archivo XPS

    // Create new XPS Document
    auto doc = System::MakeObject<XpsDocument>();

    // Initialize List of XpsGradentStop
    System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<XpsGradientStop>>> stops = System::MakeObject<System::Collections::Generic::List<System::SharedPtr<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), 1.f));

    // Create new path by defining geometery in abbreviation form
    System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 10,210 L 228,210 228,300 10,300"));
    path->set_RenderTransform(doc->CreateMatrix(1.f, 0.f, 0.f, 1.f, 20.f, 70.f));
    path->set_Fill(doc->CreateLinearGradientBrush(System::Drawing::PointF(10.f, 0.f), System::Drawing::PointF(228.f, 0.f)));
    (System::DynamicCast<Aspose::Page::Xps::XpsModel::XpsGradientBrush>(path->get_Fill()))->get_GradientStops()->AddRange(stops);

    // Save resultant XPS document
    doc->Save(outDir() + u"AddHorizontalGradient_out.xps");



Preguntas más frecuentes

1. ¿Cómo puedo agregar un degradado a un archivo XPS?

Establezca la ruta al directorio de documentos. Para agregar degradado, utilice los métodos CreateColor() y CreateGradientStop().

2. ¿Cómo trabajar con un pincel visual en un archivo XPS?

Establezca la ruta al directorio de documentos. Para crear un pincel visual, utilice el método CreateVisualBrush().

3. ¿Cómo abrir un archivo XPS?

Utilice la solución API Aspose.Page para abrir XPS archivos mediante programación o mediante multiplataforma XPS Viewer .

XPS Qué es XPS Formato de archivo

El formato XPS es similar al formato PDF. Ambos son formatos de lenguaje de descripción de página (PDL). EPS se basa en HTML y no en lenguaje PostScript. El archivo .eps puede contener un marcado de la estructura del documento junto con la información sobre cómo se vería el documento. También hay instrucciones adicionales sobre cómo imprimir y renderizar el documento. La característica del formato es que corrige la descripción del documento, lo que significa que se verá igual sin importar quién y desde qué sistema operativo lo abra.