Manipulating TIFF Images

Додавання кадрів з різними налаштуваннями

TIFF - дуже гнучкий формат, який дозволяє додавати різні кадри з різними розмірами, стисненням та іншими налаштуваннями. API Aspose.PSD дозволяє додавати будь-який кадр TIFF будь-якого розміру, що допомагає створювати складні документи. Якщо виникає потреба налаштувати кадри під час додавання для їх зрівнювання, виконайте наступні кроки:

  • Створіть новий порожній кадр з бажаними параметрами або скопіюйте вихідний кадр зі вказаними параметрами виводу за допомогою методу CreateFrameFrom.
  • Змініть розмір вихідного кадру / зображення на потрібні розміри за допомогою методу Resize.
  • Додайте пікселі вихідного кадру / зображення до нового кадру.
  • Додайте новий кадр до вихідного зображення TIFF.

Експорт шарів зображення PSD у формат файлу Multi-Page TIFF

Іноді виникає потреба експортувати шари зображення PSD у файл формату Multi-page TIFF. У цій статті продемонстровано, як ми можемо виконати це завдання, використовуючи Aspose.PSD для Java API. Спочатку ми завантажимо зображення PSD з диска. Потім ми переберемо шари зображення PSD і створимо TiffFrame від відповідних шарів. Наприкінці ми збережемо результатне зображення TIFF у один файл на диску.

String dataDir = Utils.getDataDir(ExportToMultiPageTiff.class) + "ModifyingAndConvertingImages/";
// Load a PSD file as an image and cast it into PsdImage
try (PsdImage psdImage = (PsdImage) Image.load(dataDir + "layers.psd")) {
// Initialize tiff frame list.
ArrayList<TiffFrame> frames = new ArrayList<TiffFrame>();
// Iterate over each layer of PsdImage and convert it to Tiff frame.
TiffOptions options = new TiffOptions(TiffExpectedFormat.TiffLzwCmyk);
for (int i = 0; i < psdImage.getLayers().length; i++) {
TiffFrame frame = new TiffFrame(psdImage.getLayers()[i], options);
frames.add(frame);
}
// Create a new TiffImage with frames created earlier and save to disk.
TiffFrame[] tiffFrames = frames.toArray(new TiffFrame[frames.size()]);
TiffImage tiffImage = new TiffImage(tiffFrames);
tiffImage.save(dataDir + "ExportToMultiPageTiff_output.tif");
}

Налаштування параметрів TiffOptions

Розробники можуть налаштовувати різні параметри класу TiffOptions для отримання необхідних результатів. У цьому документі ми розглянемо 4 основні параметри, які контролюють атрибути результуючого зображення.

Нижче перераховані ці параметри.

  1.  TiffOptions.Photometric
  2. TiffOptions.Compression
  3. TiffOptions.BitsPerSample
  4. TiffOptions.Predictor

При ініціалізації порожньої структури TiffOptions кожен параметр встановлюється ​​у своє значення за замовчуванням. Наприклад, стиснення встановлено на None, BitsPerSample встановлено як 1, а Photometric як MinIsWhite. Зберігання в цьому форматі призведе до того, що кінцеве зображення буде чорно-білим, що є очікуваним результатом для цих параметрів. Для отримання кольорових результатів ви повинні встановити всі вищезгадані параметри на значення, які відповідають бажаному кольоровому простору, або ініціалізувати структуру TiffOptions з попередньо визначеними налаштуваннями для кольорових результатів. Нижче наведена таблиця, яка описує очікувані значення параметрів, які можна встановити для досягнення очікуваних результатів. Зверніть увагу, що всі 4 стовпці повинні бути встановлені через TiffOptions, щоб зберегти будь-яке завантажене / створене зображення у форматі TIFF.

 TiffOptions.Photometric TiffOptions.Compression TiffOptions.BitsPerSample TiffOptions.Predictor
Palette LZW/Uncompressed 1/4/8/16 (палітра, колірний режим) лише один канал None
MinIsWhite/MinIsBlack LZW/Uncompressed 1/4/8/16 (відтінки сірого) лише один канал None
Palette LZW/Uncompressed 8 (палітра, колірний режим) лише один канал Horizontal (досягається більше стиснення для LZW однакових шаблонів)
MinIsWhite/MinIsBlack LZW/Uncompressed 8 (чорно-білий режим) лише один канал Horizontal (досягається більше стиснення для LZW однакових шаблонів)
RGB LZW/Uncompressed [8,8,8] (3 RGB канали) None/Horizontal
RGB LZW/Uncompressed [8,8,8,8] (3 RGB канали