Usando utilidades gráficas XPS | Java
Cómo fácilmente producir formas básicas en XPS
La especificación XPS define elementos gráficos primitivos que se pueden utilizar para componer cualquier forma compleja. Aspose.Page para Java proporciona clases que encapsulan estos elementos. Sin embargo, crear incluso formas relativamente simples, como un sector o segmento circular, o un n-gon regular inscrito o circunscrito alrededor de un círculo, puede resultar un poco tedioso. Incluso dibujar un círculo o una elipse no es tan sencillo como podría ser. Es por eso que Aspose.Page también ofrece un conjunto de métodos de utilidad para ayudar a ahorrar tiempo al trabajar en estas tareas.
En el siguiente ejemplo, utilizamos todas las utilidades de formas disponibles. Es importante tener en cuenta que cada uno de estos métodos de utilidad devuelve un objeto de XpsPathGeometry, que luego puede usarse para crear rutas XPS. Y para estos trazados, puede especificar propiedades de apariencia: pinceles, patrón de trazo, opacidad, etc.
Comenzamos creando un nuevo documento XPS y luego ajustando el tamaño de la primera página. La primera forma que agregamos a la página es un círculo verde sólido especificado por su centro y radio. A continuación, dibujamos un pentágono regular rojo vacío inscrito en ese círculo. Luego viene un hexágono regular rayado de magenta y circunscrito alrededor del círculo.
A la derecha, dibujamos un sector circular rojo (o una “porción circular”) entre -45 y +45 grados, seguido de un segmento circular negro con los mismos parámetros en la parte superior del sector.
La última parte del dibujo incluye un rectángulo rojo (especificado por su esquina superior izquierda y sus dimensiones) y una elipse amarilla (especificada por su centro y radios) inscrita en el rectángulo. En este caso manejamos la inscripción “a mano”.
Este es el resultado previsto en el archivo XPS guardado:
Cómo fácil colocar una imagen en una página XPS
Cuando se utilizan primitivas definidas por la especificación XPS, colocar una imagen en una página implica dos pasos:
- Agregar un trazado rectangular (cuadro de imagen) para rellenar con la imagen;
- Aplicar un pincel de imagen al cuadro de imagen, donde debe especificar un cuadro de vista y una ventana gráfica. Normalmente, necesitará conocer la resolución y el tamaño en píxeles de su imagen para proporcionar estos parámetros con precisión.
Pero, afortunadamente, existe un método conveniente entre las utilidades gráficas XPS en la API Aspose.Page para Java que puede realizar la mayor parte del trabajo por usted. También le ofrece modos de ajuste comunes. Veamos el siguiente ejemplo:
Nuevamente, comenzamos con un nuevo documento XPS y cambiamos el tamaño de la primera página. Vale la pena mencionar aquí que, de forma predeterminada, la imagen que se usa como pincel se colocará en mosaico en el cuadro de la imagen de la misma manera que si se usara en el modo XpsTileMode.Tile. Sin embargo, en la primera parte del ejemplo, mostramos cómo evitar este mosaico.
Entonces, primero queremos que la imagen se muestre en las coordenadas (10, 10) y que se ajuste al ancho del cuadro rectangular, que tiene 200 unidades de ancho y 200 unidades de alto. Para visualizar mejor el resultado, primero dibujamos el cuadro. Luego, procedemos a crear la imagen (que es esencialmente un camino relleno). Finalmente, después de obtener el relleno de la ruta y convertirlo en
XpsImageBrush, configuramos la propiedad TileMode
en XpsTileMode.None
.
A la derecha colocamos la misma imagen ajustándose a la altura del cuadro de imagen. Observe el efecto mosaico.
Finalmente, colocamos la misma imagen a la derecha una vez más y la ajustamos para que se ajuste tanto a la altura como al ancho del cuadro de imagen, lo que produce cierta distorsión de la imagen.
Y aquí está el resultado en el archivo XPS guardado: