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

4.1 KiB
Raw Blame History

Руководство по использованию скрипта для создания изображения из бинарных данных

Этот скрипт позволяет извлечь байты, представленные в виде шестнадцатеричных значений, из текстового файла, сохранить их в бинарный файл и затем создать изображение в формате PNG на основе этих байтов. Используются библиотеки binascii и PIL (Pillow).

Установка зависимостей

Для работы скрипта необходимо установить библиотеку Pillow. Для этого выполните команду:

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. Запустите скрипт с параметрами:

    • Путь к входному текстовому файлу
    • Ширина изображения
    • Высота изображения

    Пример команды:

    python script.py input.txt 100 100
    
  3. Скрипт выполнит два шага:

    • Извлечет байты из текстового файла и сохранит их в бинарный файл с именем, основанным на имени входного файла.
    • Создаст изображение на основе извлеченных байтов и сохранит его в формате PNG.

Пример работы

  1. У вас есть текстовый файл input.txt с данными, начинающимися с '0x'.

  2. Запускаете скрипт:

    python script.py input.txt 100 100
    
  3. Скрипт:

    • Извлечет байты из input.txt и создаст файл input_output.bin.
    • Преобразует байты в изображение и сохранит его как input.png.

После выполнения скрипта, вы получите изображение input.png, которое будет создано на основе бинарных данных.

Примечания

  • Размеры изображения (ширина и высота) должны соответствовать количеству байтов в бинарном файле. Убедитесь, что количество пикселей (ширина * высота) соответствует размеру данных.
  • Скрипт предполагает, что данные представлены в формате BGRA (когда каналы R и B перепутаны), и выполняет их корректировку.