Дата: Воскресенье, 15.06.2025, 13:51:59 | Сообщение # 1
Администратор
Группа: Администраторы
Сообщений: 8230
Статус: OFF-Line
psd-png-tga converter
Этот скрипт предназначен для обработки изображений, а именно для объединения двух изображений (основной текстуры и альфа-канала) в один файл формата TGA с поддержкой 32-битного цвета (включая альфа-канал). Ниже приведено описание его функциональности:
Основные функции скрипта:
1. Создание уникального имени лог-файла (`getLogFileName`): - Генерирует имя лог-файла на основе текущей даты и времени в формате `log_дд.мм.гггг_чч-мм-сс.txt`. Это позволяет сохранять логи для каждой сессии обработки отдельно.
2. Загрузка конфигурации (`loadConfig`): - Читает файл `script_config.txt` из указанной папки, чтобы определить индекс последнего обработанного файла. Если файл конфигурации отсутствует, начинается обработка с первого файла.
3. Сохранение конфигурации (`saveConfig`): - Сохраняет текущий индекс обработанного файла в файл `script_config.txt`. Это позволяет продолжить обработку с места остановки при повторном запуске скрипта.
4. Копирование файлов в папку ошибок (`copyToErrorFolder`): - Если при обработке файлов возникает ошибка, они копируются в папку `ERROR_FILES` с уникальным именем (добавляется суффикс `_001`, `_002` и т.д., если файл с таким именем уже существует).
5. Обработка изображений (`processImages`): - Основная функция, которая открывает два файла (текстуру и альфа-канал), проверяет наличие альфа-канала, копирует его из альфа-изображения и вставляет в текстуру. Затем текстура сохраняется в формате TGA с поддержкой альфа-канала.
6. Сохранение в формате TGA (`saveAsTGA`): - Сохраняет изображение в формате TGA с 32-битным цветом и включенным альфа-каналом.
7. Проверка наличия альфа-канала (`hasAlphaChannel`): - Проверяет, есть ли в документе альфа-канал с именем "Альфа 1".
Логика работы скрипта: 1. Пользователь выбирает папку с изображениями. 2. Скрипт ищет в папке файлы с расширениями `.png` и `.psd`. 3. Обрабатывает файлы попарно: первый файл считается текстурой, второй - альфа-каналом. 4. Для каждой пары: - Проверяется наличие альфа-канала. - Альфа-канал копируется из второго файла и вставляется в текстуру. - Результат сохраняется в папку `output` в формате TGA. 5. Если возникает ошибка, файлы копируются в папку `ERROR_FILES`, а ошибка записывается в лог. 6. После завершения обработки сбрасывается конфигурация (индекс обработанных файлов), и пользователь получает уведомление о завершении.
Особенности: - Логирование: Все действия записываются в лог-файл, что позволяет отслеживать процесс обработки и ошибки. - Продолжение с места остановки: Скрипт запоминает, какие файлы уже обработаны, и может продолжить работу с места остановки. - Обработка ошибок: Если файлы повреждены или содержат ошибки, они перемещаются в папку `ERROR_FILES`, а обработка продолжается со следующей пары. - Очистка памяти: Скрипт закрывает все документы, кроме активного, чтобы избежать утечек памяти.
Этот скрипт полезен для автоматизации обработки изображений, особенно когда требуется объединить текстуру и альфа-канал в один файл.
История версий: Сравнение версии 1.1 с версией 1.0
Изменено: 1. Группировка файлов по именам: - В версии 1.1 добавлена логика группировки файлов по их именам без расширения. Это позволяет обрабатывать файлы попарно на основе их базовых имен, а не просто по порядку в массиве.
2. Индексация обработанных файлов: - В версии 1.1 индекс сохраняется как количество обработанных пар, а не отдельных файлов.
3. Логика обработки файлов: - В версии 1.1 добавлена проверка на наличие пары файлов с одинаковым базовым именем. В версии 1.0 такой проверки не было.
2. Группировка файлов в объект `fileMap`: - Объект `fileMap` позволяет удобно сопоставлять пары файлов.
3. Логирование отсутствия пары: - В лог добавляется сообщение, если пара не найдена.
Исправлено: 1. Обработка нечетного количества файлов: - Исправлена ошибка завершения при нечетном количестве файлов.
2. Улучшена обработка ошибок: - Скрипт теперь продолжает работу даже при сбоях и копирует файлы в папку `ERROR_FILES`.
3. Улучшена очистка памяти: - Скрипт теперь закрывает все неактивные документы, что снижает потребление памяти.
Итог: Версия 1.1 - это более стабильная и функциональная версия, ориентированная на надежность, расширенную логику обработки и автоматизацию.
This script is designed for image processing, specifically for merging two images (a base texture and an alpha channel) into a single TGA file with 32-bit color support (including alpha). Below is a breakdown of its functionality:
Main Features of the Script:
1. Creating a unique log file name (`getLogFileName`): - Generates a log file name based on the current date and time in the format `log_dd.mm.yyyy_hh-mm-ss.txt`, allowing separate logs for each processing session.
2. Loading configuration (`loadConfig`): - Reads the `script_config.txt` file from a specified folder to determine the index of the last processed file. If the config file is missing, processing starts from the first file.
3. Saving configuration (`saveConfig`): - Saves the current file index to `script_config.txt`, allowing the script to resume from where it left off.
4. Copying files to the error folder (`copyToErrorFolder`): - If an error occurs during processing, the files are copied to the `ERROR_FILES` folder with a unique name (a suffix `_001`, `_002`, etc., is added if the name already exists).
5. Image processing (`processImages`): - The core function opens two files (texture and alpha), checks for the presence of an alpha channel, copies it from the alpha image and inserts it into the texture. The result is saved as a TGA file with alpha support.
6. Saving as TGA (`saveAsTGA`): - Saves the image as a 32-bit TGA file with an embedded alpha channel.
7. Alpha channel check (`hasAlphaChannel`): - Checks if the document contains an alpha channel named "Alpha 1".
Script Workflow: 1. User selects a folder containing images. 2. The script searches for `.png` and `.psd` files. 3. Files are processed in pairs: the first file is treated as the texture, the second as the alpha. 4. For each pair: - Checks for the presence of an alpha channel. - Alpha channel is copied from the second file into the texture. - The result is saved in the `output` folder as a TGA file. 5. If an error occurs, files are moved to the `ERROR_FILES` folder, and the error is logged. 6. After processing is complete, the configuration is reset, and the user is notified.
Key Features: - Logging: All actions are recorded in a log file to track processing and errors. - Resume Support: Remembers processed files and resumes from where it left off. - Error Handling: If files are corrupted or problematic, they’re moved to `ERROR_FILES`, and the script continues with the next pair. - Memory Cleanup: Closes all non-active documents to avoid memory leaks.
This script is useful for automating image processing tasks where texture and alpha need to be combined into one file.
Version History: Comparing Version 1.1 with Version 1.0
Changed: 1. Grouping by file names: - Version 1.1 introduces grouping based on base filenames without extensions, enabling reliable pairing based on name rather than file order.
2. File index tracking: - Indexing now reflects processed name-pairs instead of individual files, improving logic and progress tracking.
3. Pair existence checks: - Version 1.1 checks for valid file pairs before processing, unlike 1.0 which could attempt processing unmatched files.