Files
scripts/lvgl/make_image_from_file.md
2024-12-02 19:38:23 +03:00

70 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Руководство по использованию скрипта для создания изображения из бинарных данных
Этот скрипт позволяет извлечь байты, представленные в виде шестнадцатеричных значений, из текстового файла, сохранить их в бинарный файл и затем создать изображение в формате 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 перепутаны), и выполняет их корректировку.