Обрезка EPS с использованием решения Java API

Обзор

В этой статье объясняется, как обрезать EPS с помощью Java. Он охватывает следующие темы.

Java Crop EPS Описание

Обрезка изображения — это операция, изменяющая одно или несколько полей изображения: левое, правое, верхнее и нижнее. Другими словами, он обрезает содержимое изображения по краям. Таким образом, размер результирующего представления изображения EPS всегда будет меньше исходного. Объем файла не будет изменен, поскольку наше решение не работает с содержимым, а работает с заголовком файла EPS. Поля изображения EPS определяются метаданными BoundingBox. Чтобы обрезать или, другими словами, установить новую ограничивающую рамку, мы должны знать существующую ограничивающую рамку изображения EPS. В противном случае мы можем присвоить значения новой ограничивающей рамки за пределами существующей ограничивающей рамки, что приведет к ошибке. Итак, шаги по обрезке изображения EPS в Java следующие:

  1. Инициализируйте объект PsDocument входным потоком, содержащим файл EPS.
  2. Извлеките существующую ограничивающую рамку изображения с помощью статического метода extractEpsBoundingBox.
  3. Создайте выходной поток для результирующего файла EPS.
  4. Создайте новую ограничивающую рамку.
  5. Обрежьте объект PsDocument с помощью новой ограничивающей рамки с помощью статического метода cropEps.

You can check the quality of Aspose.Page EPS Crop and view the results via free online Crop EPS and than view the resulting EPS file with our EPS Viewer web application.


Обрезать EPS в Java

В следующем фрагменте кода Java мы получаем существующую ограничивающую рамку изображения и обрезаем 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);

См. Обрезку EPS в .NET and C++.

Исходное изображение в формате EPS
Исходное изображение
Обрезанное изображение EPS
Обрезанное изображение

Evaluate cropping EPS online on our Crop EPS web application. You can crop EPS file and dowload result in a few seconds.

Вы можете скачать примеры и файлы данных с GitHub.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.