Trabajar con imágenes en archivos PS | Java
Agregar imagen en documento PS
La biblioteca Aspose.Page para Java ofrece dos métodos para agregar imágenes a un documento PS:
- para imágenes opacas;
- para imágenes transparentes;
Se creó porque PostScript no admite transparencia, pero las imágenes translúcidas, sin embargo, se pueden representar como un conjunto de píxeles completamente transparentes y completamente opacos. Estas imágenes se denominan máscaras.
Si queremos ver la imagen translúcida en el documento PS como máscara, que reflejará mejor la transparencia de la imagen, debemos realizar algunas comprobaciones y preprocesamiento de dicha imagen. La verificación y el preprocesamiento requieren tiempo. Por tanto, si alguien está seguro de que la imagen es totalmente opaca, es mejor utilizar el primer método, porque ahorra tiempo de ejecución.
El segundo método reconoce si la imagen es completamente opaca o completamente transparente o translúcida. Si es completamente opaco, se agrega como imagen opaca en el primer método. si es completamente transparente, no se agrega al documento en absoluto; si es la imagen translúcida, se agrega como una máscara de imagen PostScript.
En el siguiente ejemplo, demostramos cómo agregar una imagen completamente opaca. La adición de una imagen transparente se demostrará en el artículo “Trabajar con transparencia”.
Para agregar una imagen a un nuevo PsDocument con la biblioteca Aspose.Page para Java en este ejemplo, seguimos los siguientes pasos:
- 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.
- Cree java.awt.image.BufferedImage a partir del archivo de imagen.
- Crea la transformación necesaria para la imagen.
- Agregue la imagen al objeto PsDocument.
- Salga del estado de gráficos actual al nivel uno superior.
- Cierra la página.
- Guarde el documento.
1//Create an output stream for PostScript document
2FileOutputStream outPsStream = new FileOutputStream(dataDir + "AddImage_outPS.ps");
3//Create save options with A4 size
4PsSaveOptions options = new PsSaveOptions();
5
6//Create new PS Document with the page opened
7PsDocument document = new PsDocument(outPsStream, options, false);
8
9
10document.writeGraphicsSave();
11document.translate(100, 100);
12
13//Create a BufferedImage object from image file
14BufferedImage image = ImageIO.read(new File(dataDir + "TestImage Format24bppRgb.jpg"));
15
16//Create image transform
17AffineTransform transform = new AffineTransform();
18transform.translate(35, 300);
19transform.scale(3, 3);
20transform.rotate(-45);
21
22//Add image to document
23document.drawImage(image, transform, null);
24
25document.writeGraphicsRestore();
26
27//Close current page
28document.closePage();
29//Save the document
30document.save();
Consulte cómo trabajar con imágenes en documentos PS en .NET.
El resultado de ejecutar este código aparece como
Puede descargar ejemplos y archivos de datos desde GitHub.