Змінити розмір EPS | Рішення .NET API

Огляд

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

C# Зміна розміру опису EPS

Зміна розміру зображення — це операція, яка змінює один або обидва розміри зображення: ширину та висоту. Вміст зображення залишається незмінним, але саме зображення можна масштабувати в залежності від нових значень ширини та висоти. Якщо пропорційно збільшити з і висоту, представлення зображення EPS буде збільшено, інакше воно буде зменшено. Якщо ширина та висота змінюються непропорційно, результуюче представлення зображення EPS буде стиснутим або подовженим у певному напрямку. Обсяг файлу EPS залишиться майже незмінним, оскільки наше рішення не працює з вмістом, але працює із заголовком і розділом налаштування файлу EPS.

Щоб налаштувати новий розмір для представлення зображення EPS, часто необхідно знати його існуючий розмір і вибрати одиниці, в яких призначати новий розмір. Це можуть бути пункти (1/72 дюйма), дюйми, міліметри, сантиметри та відсотки. Тож кроки для зміни розміру зображення EPS у C# такі:

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

Перевірити якість Aspose.Page EPS Resize і переглянути результати можна безкоштовно в Інтернеті Змінити розмір EPS а потім перегляньте отриманий файл EPS за допомогою нашого EPS Viewer

Змінити розмір EPS, налаштувавши новий розмір у Points у C#

У наступному фрагменті коду C# новий розмір зображення встановлюється в точках (1/72 дюйма):

 1// Setting new size of EPS file in points.
 2
 3// Initialize PS document with EPS file
 4PsDocument document = new PsDocument(DataDir + "input.eps");
 5
 6string outputFileName = "output_resize_points.eps";
 7
 8//Get size of EPS image
 9Size oldSize = document.ExtractEpsSize();
10
11//Increase EPS size in 2 times and save to new file
12document.ResizeEps(OutputDir + outputFileName, new SizeF(oldSize.Width * 2, oldSize.Height * 2), Units.Points);

Для Linux, MacOS та інших операційних систем, відмінних від Windows, ми пропонуємо використовувати наш пакет Aspose.Page.Drawing Nuget. Він використовує бекенд Aspose.Drawing замість системної бібліотеки System.Drawing.

Тому імпортуйте простір імен Aspose.Page.Drawing замість System.Drawing. У наведених вище та наступних фрагментах коду Aspose.Page.Drawing.Size використовуватиметься замість System.Drawing.Size. Наші приклади коду на GitHub містять усі необхідні заміни.

Зміна розміру EPS, встановлення нового розміру в дюймах у C#

У наступному фрагменті коду C# новий розмір зображення встановлено в дюймах:

 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 //Create an input stream for EPS file
 7using (Stream inputEpsStream = new System.IO.FileStream(dataDir + "input.eps", System.IO.FileMode.Open, System.IO.FileAccess.Read))
 8{
 9    //Initialize PsDocument object with input stream
10    PsDocument doc = new PsDocument(inputEpsStream);
11
12    //Get size of EPS image
13    Size oldSize = doc.ExtractEpsSize();
14
15    //Create an output stream for resized EPS
16    using (Stream outputEpsStream = new System.IO.FileStream(dataDir + "output_resize_inches.eps", System.IO.FileMode.Create, System.IO.FileAccess.Write))
17    {
18        //Save EPS to the output stream with new size assigned in inches
19        doc.ResizeEps(outputEpsStream, new SizeF(5.791f, 3.625f), Units.Inches);
20    }
21}

Змінити розмір EPS, установивши новий розмір у міліметрах у C#

У наступному фрагменті коду C# новий розмір зображення встановлюється в міліметрах:

 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 //Create an input stream for EPS file
 7using (Stream inputEpsStream = new System.IO.FileStream(dataDir + "input.eps", System.IO.FileMode.Open, System.IO.FileAccess.Read))
 8{
 9    //Initialize PsDocument object with input stream
10    PsDocument doc = new PsDocument(inputEpsStream);
11
12    //Get size of EPS image
13    Size oldSize = doc.ExtractEpsSize();
14
15    //Create an output stream for resized EPS
16    using (Stream outputEpsStream = new System.IO.FileStream(dataDir + "output_resize_mms.eps", System.IO.FileMode.Create, System.IO.FileAccess.Write))
17    {
18        //Save EPS to the output stream with new size assigned in millimeters
19        doc.ResizeEps(outputEpsStream, new SizeF(196, 123), Units.Millimeters);
20    }
21}

Змінити розмір EPS, налаштувавши новий розмір у відсотках у C#

У наступному фрагменті коду C# новий розмір зображення встановлюється у відсотках:

 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 //Create an input stream for EPS file
 7using (Stream inputEpsStream = new System.IO.FileStream(dataDir + "input.eps", System.IO.FileMode.Open, System.IO.FileAccess.Read))
 8{
 9    //Initialize PsDocument object with input stream
10    PsDocument doc = new PsDocument(inputEpsStream);
11
12    //Get size of EPS image
13    Size oldSize = doc.ExtractEpsSize();
14
15    //Create an output stream for resized EPS
16    using (Stream outputEpsStream = new System.IO.FileStream(dataDir + "output_resize_mms.eps", System.IO.FileMode.Create, System.IO.FileAccess.Write))
17    {
18        //Save EPS to the output stream with new size assigned in percents
19        doc.ResizeEps(outputEpsStream, new SizeF(200, 200), Units.Percents);
20    }
21}

See Змінити розмір EPS in Java і C++.

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


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

Змінене зображення EPS


Змінене зображення

Створення ШІ-агента для зміни розміру EPS

Створення генеративного ШІ-агента для зміни розміру EPS використовує це правило масштабування на основі заголовків. Він може приймати запити просторового масштабування від користувачів на кілька одиниць, зчитувати початкові параметри для забезпечення правильного співвідношення сторін та безпечно обробляти виконання без складних циклів растеризації.

Інженерна мета полягає у створенні структури оркестрації, де ШІ може приймати запит користувача, обчислювати цільові математичні матриці та безпечно передавати метрики до програмного компілятора макета. Робочий процес реалізації такого інструменту може виглядати наступним чином:

  1. Мета масштабування та вилучення одиниць (рівень аналізу LLM) Користувач передає файл EPS разом із звичайними текстовими інструкціями (наприклад, «Подвоїти його розмір» або «Встановити ширину на 120 мм»). LLM відображає вхідні рядки розмовного формату на дискретні змінні: числове цільове значення, обмеження осі розміру (ширина/висота) та явне визначення одиниці, що відповідає переліку одиниць.

  2. Розбір розміру та меж Щоб обчислити пропорційне змінення розміру без спотворення або стискання векторної графіки, агент повинен перевірити поточні параметри полотна ресурсу. Система завантажує файл у потік PsDocument та виконує document.ExtractEpsSize(). Це дає власний масив визначення меж Size, що містить властивості абсолютної ширини та висоти.

  3. Коригування пропорційної геометрії Якщо намір користувача вимагає збереження суворого співвідношення сторін, але надає лише один вимір (наприклад, ширину), агент динамічно обчислює відсутню цільову векторну вісь. Штучний інтелект обчислює модифікатори пропорційного масштабування на основі вихідних обмежень розміру, витягнутих на кроці 2.

Правило обчислення співвідношення масштабу

  1. Масштабування та серіалізація ресурсу (вузол виконання) Розраховане корисне навантаження геометрії передається до Aspose для швидкого виправлення метаданих файлу без необхідності структурних циклів повторного рендерингу. Система виконує document.ResizeEps(outputPath, targetSize, Units.[TargetUnit]). Це оновлює конфігурації базових заголовків та миттєво надсилає оптимізований високоякісний EPS-файл на полотно кінцевої точки.

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

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