Обрезка EPS | Решение C# .NET API

Обзор

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

C# Обрезка EPS Описание

Обрезка изображения — это операция, изменяющая одно или несколько полей изображения: левое, правое, верхнее и нижнее. Другими словами, он обрезает содержимое изображения по краям.

Таким образом, размер результирующего представления изображения EPS всегда будет меньше исходного. Объем файла не будет изменен, поскольку наше решение не работает с содержимым, а работает с заголовком файла EPS.

Поля изображения EPS определяются метаданными BoundingBox. Чтобы обрезать или, другими словами, установить новую ограничивающую рамку, мы должны знать существующую ограничивающую рамку изображения EPS. В противном случае мы можем присвоить значения новой ограничивающей рамки за пределами существующей ограничивающей рамки, что приведет к ошибке. Итак, шаги по обрезке изображения EPS в C# следующие:

  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 в C#

В следующем фрагменте кода C# мы получаем существующую ограничивающую рамку изображения и обрезаем EPS:

 1// For complete examples and data files, please go to https://github.com/aspose-page/Aspose.Page-for-.NET
 2
 3// The path to the documents directory.
 4string dataDir = GetDataDir();
 5
 6//Initialize PsDocument object with EPS file
 7PsDocument doc = new PsDocument(dataDir + "input.eps");
 8
 9//Get initial bounding box of EPS image
10int [] initialBoundingBox = doc.ExtractEpsBoundingBox();
11
12//Create an output stream for resized EPS
13using (Stream outputEpsStream = new System.IO.FileStream(dataDir + "output_crop.eps", System.IO.FileMode.Create, System.IO.FileAccess.Write))
14{
15    //Create new bounding box
16    //Bounding box is represented by 4 numbers: x0, y0, x, y, where x0 - left margin, y0 - top margin, x - (x0 + width), y - (y0 + height)
17    float[] newBoundingBox = new float[] { 260, 300, 480, 432 };
18
19    //Crop EPS image and save to the output stream                    
20    //Croping of image is changing of its bounding box so that new values of bounding box will be within initial bounding box, that is
21    //initialBoundingBox[0] <= newBoundingBox[0] <= initialBoundingBox[2]
22    //initialBoundingBox[1] <= newBoundingBox[1] <= initialBoundingBox[3]
23    //initialBoundingBox[0] <= newBoundingBox[2] <= initialBoundingBox[2]
24    //initialBoundingBox[1] <= newBoundingBox[3] <= initialBoundingBox[3]
25    doc.CropEps(outputEpsStream, newBoundingBox);
26}

См. Обрезку EPS в Java и C++.

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

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

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

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.