Обрізати EPS за допомогою Java API Solution

Огляд

У цій статті пояснюється, як обрізати EPS за допомогою Java. Він охоплює наступні теми.

Java Crop EPS Опис

Кадрування зображення — це операція, яка змінює одне з або кількох полів зображення: ліве, праве, верхнє та нижнє. Іншими словами, він вирізає вміст зображення з країв. Таким чином, розмір результуючого зображення EPS завжди буде меншим за вихідний. Обсяг файлу не буде змінено, оскільки наше рішення не працює з вмістом, але працює із заголовком файлу EPS. Поля зображення EPS визначаються метаданими BoundingBox. Щоб обрізати або, іншими словами, встановити нову рамку обмежування, ми повинні знати існуючу рамку обмеження зображення EPS. В іншому випадку ми можемо призначити значення нової обмежувальної рамки за межами існуючої обмежувальної рамки, що призведе до помилки. Отже, кроки для кадрування зображення EPS у Java такі:

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

Ви можете перевірити якість Aspose.Page EPS Crop і переглянути результати в безкоштовному онлайн-режимі Crop EPS і переглянути отриманий файл EPS за допомогою нашої веб-програми EPS Viewer.


Обрізати EPS в Java

У наступному фрагменті коду Java ми отримуємо існуючу обмежувальну рамку зображення та кадрування EPS:

 1// Повні приклади і файли даних див 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 і C++.

Початкове зображення EPS
Початкове зображення
Обрізане зображення EPS
Обрізане зображення

Оцініть кадрування EPS онлайн в нашому веб-додатку Crop EPS. Ви можете обрізати файл EPS і завантажити результат за кілька секунд.

Ви можете завантажити приклади та файли даних із GitHub.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.