Refactoring the department structure

This commit is contained in:
Egor Tsyganchuk
2024-12-02 19:38:23 +03:00
parent a02f275cb3
commit 6475ac3814
11 changed files with 318 additions and 48 deletions

View File

@@ -0,0 +1,69 @@
# Руководство по использованию скрипта для создания изображения из бинарных данных
Этот скрипт позволяет извлечь байты, представленные в виде шестнадцатеричных значений, из текстового файла, сохранить их в бинарный файл и затем создать изображение в формате PNG на основе этих байтов. Используются библиотеки `binascii` и `PIL` (Pillow).
## Установка зависимостей
Для работы скрипта необходимо установить библиотеку `Pillow`. Для этого выполните команду:
```bash
pip install Pillow
```
## Описание функций
### `extract_bytes(input_file)`
- Извлекает байты, представленные в виде шестнадцатеричных значений, из текстового файла.
- Преобразует их в бинарный формат и сохраняет в новый файл с суффиксом `_output.bin`.
- Принимает на вход путь к текстовому файлу и возвращает путь к созданному бинарному файлу.
### `create_image_from_bytes(byte_file, image_file, width, height)`
- Читает байты из бинарного файла.
- Меняет местами каналы R и B (преобразует из формата BGRA в RGBA).
- Создает изображение и сохраняет его в формате PNG.
- Принимает на вход путь к бинарному файлу, имя выходного изображения и размеры изображения (ширину и высоту).
## Как использовать
1. **Подготовьте текстовый файл**, в котором содержатся шестнадцатеричные данные, начинающиеся с '0x'. Например:
```
0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A ...
```
2. **Запустите скрипт** с параметрами:
- Путь к входному текстовому файлу
- Ширина изображения
- Высота изображения
Пример команды:
```bash
python script.py input.txt 100 100
```
3. **Скрипт выполнит два шага**:
- Извлечет байты из текстового файла и сохранит их в бинарный файл с именем, основанным на имени входного файла.
- Создаст изображение на основе извлеченных байтов и сохранит его в формате PNG.
## Пример работы
1. У вас есть текстовый файл `input.txt` с данными, начинающимися с '0x'.
2. Запускаете скрипт:
```bash
python script.py input.txt 100 100
```
3. Скрипт:
- Извлечет байты из `input.txt` и создаст файл `input_output.bin`.
- Преобразует байты в изображение и сохранит его как `input.png`.
После выполнения скрипта, вы получите изображение `input.png`, которое будет создано на основе бинарных данных.
## Примечания
- Размеры изображения (ширина и высота) должны соответствовать количеству байтов в бинарном файле. Убедитесь, что количество пикселей (ширина * высота) соответствует размеру данных.
- Скрипт предполагает, что данные представлены в формате BGRA (когда каналы R и B перепутаны), и выполняет их корректировку.