70 lines
4.1 KiB
Markdown
70 lines
4.1 KiB
Markdown
# Руководство по использованию скрипта для создания изображения из бинарных данных
|
||
|
||
Этот скрипт позволяет извлечь байты, представленные в виде шестнадцатеричных значений, из текстового файла, сохранить их в бинарный файл и затем создать изображение в формате 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 перепутаны), и выполняет их корректировку.
|