Trabajar con texturas en un archivo PS | Java
Agregar patrón de mosaico de textura en documento PS
Un patrón de mosaico de textura es una imagen que se utiliza para rellenar o dibujar objetos: formas o texto. Si el tamaño de la imagen es menor que el tamaño del objeto, se repite en las direcciones X e Y para cubrir todas las áreas necesarias.
El proceso de repetición de una imagen dentro de objetos gráficos se llama mosaico. Para configurar pintura o trazo en PsDocument debemos pasar un objeto de la clase java.awt.Paint para una pintura y un objeto de java.awt.Stroke para trazar en los respectivos métodos.
La biblioteca Aspose.Page para Java procesa todas las clases importantes implementadas java.awt.Paint que ofrece la plataforma Java. Estos son java.awt.Color, java.awt.TexturePaint, java.awt.LinearGradientPaint y java.awt.RadialGradientPaint. El color del trazo en Java se asigna por separado de las propiedades del trazo en el objeto java.awt.Stroke y se usa nuevamente java.awt.Paint. Por lo tanto, la biblioteca Aspose.Page para Java también puede utilizar un conjunto completo de implementaciones de pintura para dibujar líneas y delinear formas y texto.
Para pintar objetos gráficos con un patrón texturizado en la biblioteca Aspose.Page para Java, basta con pasar java.awt.TexturePaint a setPaint() o uno de los fillText( ) o fillAndStrokeText() métodos que aceptan java.awt.Paint como parámetro.
Para delinear objetos gráficos con un patrón texturizado en la biblioteca Aspose.Page para Java, debe pasar el objeto java.awt.TexturePaint también a setPaint() o uno de los **outlineText() ** o fillAndStrokeText() métodos que aceptan trazos de pintura como parámetro.
En el siguiente ejemplo, demostramos cómo rellenar una forma y un texto y delinear un texto con un patrón de mosaico de textura.
Descripción de los pasos para trabajar con Patrón de textura y PsDocument en el ejemplo:
- Cree una secuencia de salida para el archivo PS resultante.
- Cree el objeto PsSaveOptions con opciones predeterminadas.
- Cree un PsDocument de 1 página con un flujo de salida ya creado y opciones para guardar.
- Cree un nuevo estado de gráficos y transfiéralo a la posición necesaria.
- Cree java.awt.image.BufferedImage a partir del archivo de imagen.
- Cree java.awt.TexturePaint a partir de la imagen.
- Establece la transformación necesaria en el pincel de textura.
- Establezca la pintura de textura como pintura actual en el estado gráfico actual de PsDocument.
- Crea un camino rectangular.
- Rellena el rectángulo con la pintura de textura.
- Guarde la pintura actual como una variable local para uso futuro.
- Establezca la pintura actual con un color rojo.
- Establecer trazo con un ancho de 2 puntos java.awt.BasicStroke
- Delinea el rectángulo con un trazo actual.
- Salga del estado de gráficos actual al estado de gráficos de nivel superior.
- Cree la fuente sistema.
- Rellene y trace (delinee) el texto. Para rellenar la textura se utiliza pintura y para trazar se utiliza un bolígrafo negro.
- Delinea el texto en la otra posición con la pintura de textura y el nuevo java.awt.BasicStroke.
- Cierra la página.
- Guarde el documento.
1 // Paint rectangle and text and outline text with tiled image (texture pattern) in PS document.
2
3 String outputFileName = "AddTextureTilingPattern_outPS.ps";
4
5 //Create save options with A4 size
6 PsSaveOptions options = new PsSaveOptions();
7
8 // Create new 1-paged PS Document
9 PsDocument document = new PsDocument(getOutputDir() + outputFileName, options, false);
10
11 document.writeGraphicsSave();
12 document.translate(200, 100);
13
14//Create a BufferedImage object from image file
15 BufferedImage image = ImageIO.read(new File(getDataDir() + "TestTexture.bmp"));
16
17 //Create image area doubled in width
18 Rectangle2D.Float imageArea = new Rectangle2D.Float(0, 0, image.getWidth() * 2, image.getHeight());
19 //Create texture brush from the image
20 TexturePaint paint = new TexturePaint(image, imageArea);
21
22 //Create rectangle
23 Rectangle2D.Float shape = new Rectangle2D.Float(0, 0, 200, 100);
24
25 //Set this texture brush as current paint
26 document.setPaint(paint);
27 //Fill rectangle
28 document.fill(shape);
29
30
31 document.setPaint(Color.RED);
32 document.setStroke(new BasicStroke(2));
33 document.draw(shape);
34
35 document.writeGraphicsRestore();
36
37 //Fill the text with the texture pattern
38 Font font = new Font("Arial", Font.BOLD, 96);
39 document.fillAndStrokeText("ABC", font, 200, 300, paint, Color.BLACK, new BasicStroke(2));
40
41 //Outline the text with the texture pattern
42 document.outlineText("ABC", font, 200, 400, paint, new BasicStroke(5));
43
44 //Close current page
45 document.closePage();
46
47 //Save the document
48 document.save();Vea cómo trabajar con texturas en documentos PS en .NET.
El resultado de ejecutar este código aparece como

Puede descargar ejemplos y archivos de datos desde GitHub.