Cortar EPS utilizando a solução API Java
Visão geral
Este artigo explica como recortar EPS utilizando Java. Aborda os seguintes tópicos.
Descrição de Recorte EPS em Java
O recorte da imagem é uma operação que altera uma ou várias margens da imagem: esquerda, direita, superior e inferior. Por outras palavras, corta o conteúdo da imagem a partir das margens. Assim sendo, o tamanho da representação resultante da imagem EPS será sempre menor que o original. O volume do ficheiro não será alterado, uma vez que a nossa solução não funciona com o conteúdo, mas sim com o cabeçalho do ficheiro EPS. As margens da imagem EPS são definidas pelos metadados da BoundingBox. Para recortar, ou por outras palavras, configurar uma nova caixa delimitadora, precisamos de saber qual é a caixa delimitadora existente da imagem EPS. Caso contrário, podemos atribuir os valores da nova caixa delimitadora fora da caixa delimitadora existente, o que resultará num erro. Assim sendo, os passos para recortar uma imagem EPS em Java são os seguintes:
- Inicialize o objeto PsDocument com um fluxo de entrada contendo o ficheiro EPS.
- Extraia a caixa delimitadora existente da imagem utilizando o método estático extractEpsBoundingBox.
- Crie um fluxo de saída para o ficheiro EPS resultante.
- Crie uma nova caixa delimitadora.
- Recorte o objeto PsDocument com uma nova caixa delimitadora utilizando o método estático cropEps.
Pode verificar a qualidade do Recorte EPS do Aspose.Page e visualizar os resultados através do Recortar EPS online gratuitamente e, em seguida, visualizar o ficheiro EPS resultante com a nossa aplicação web Visualizador de EPS.
Cortar EPS em Java
No seguinte trecho de código Java , obtemos a caixa delimitadora existente da imagem e cortamos o EPS:
1// For complete examples and data files, please go to https://github.com/aspose-page/Aspose.Page-for-Java
2
3// The path to the documents directory.
4String dataDir = getDataDir();
5
6//Create an input stream for EPS file
7FileInputStream inputEpsStream = new FileInputStream(dataDir + "input.eps");
8
9//Initialize PsDocument object with input stream
10PsDocument doc = new PsDocument(inputEpsStream);
11
12//Get initial bounding box of EPS image
13int [] initialBoundingBox = doc.extractEpsBoundingBox();
14
15//Create output stream for PostScript document
16FileOutputStream outputEpsStream = new FileOutputStream(dataDir + "output_crop.eps");
17
18//Create new bounding box
19//Bounding box is represented by 4 numbers: x0, y0, x, y, where x0 - left margin, y0 - top margin, x - (x0 + width), y - (y0 + height)
20float[] newBoundingBox = new float[] { 260, 300, 480, 432 };
21
22//Crop EPS image and save to the output stream
23//Croping of image is changing of its bounding box so that new values of bounding box will be within initial bounding box, that is
24//initialBoundingBox[0] <= newBoundingBox[0] <= initialBoundingBox[2]
25//initialBoundingBox[1] <= newBoundingBox[1] <= initialBoundingBox[3]
26//initialBoundingBox[0] <= newBoundingBox[2] <= initialBoundingBox[2]
27//initialBoundingBox[1] <= newBoundingBox[3] <= initialBoundingBox[3]
28doc.cropEps(outputEpsStream, newBoundingBox);
Consulte Cortar EPS em .NET e C++.
Imagem Inicial
Imagem Cortada
Avalie o corte de EPS online na nossa aplicação web Cortar EPS. Pode cortar o ficheiro EPS e descarregar o resultado em poucos segundos.
Pode descarregar exemplos e ficheiros de dados do GitHub.