Главная » 2025 » Декабрь » 03 » Класс UImageGray: сохранение изображения в файл
22:56
Класс UImageGray: сохранение изображения в файл

Класс UImageGray: сохранение изображения в файл

Сохранить изображение в файл позволяет метод save(). Формат метода:

save(<Путь>, quality_jpg=70, compress_level_png=6)

В качестве первого параметра указывается путь к файлу. По умолчанию изображения в формате JPEG сохраняются с качеством 70. С помощью параметра quality_jpg можно указать другое значение в диапазоне от 0 до 100. Параметр compress_level_png позволяет задать степень сжатия для PNG файлов  в диапазоне от 0 до 9 (значение по умолчанию: 6). Если операция выполнена успешно, то метод вернет значение True, а в противном случае — значение False.

Создадим изображение черного цвета и сохраним его в файл в формате PNG:

from unicross_image.uimagegray import UImageGray

img = UImageGray(300, 200, 0)
if img.save("test.png"):
    print("Изображение успешно сохранено")
else:
    print("Не удалось сохранить изображение")

Без сторонних библиотек метод save() может сохранить файлы в следующих форматах:

  • .uimage — собственный формат файла изображения библиотеки UImage. Изображение сохраняется целиком с максимальной скоростью;
  • .ppm — бинарный формат (P6) файла PPM. Перед сохранением в файл производится преобразование в формат RGB;
  • .pgm — бинарный формат (P5) файла PGM. Изображение сохраняется целиком с максимальной скоростью;
  • .gray — содержит только набор байтов. Формат RAW GRAY ничего не знает ни о ширине изображения, ни о его высоте. Изображение сохраняется с максимальной скоростью;
  • .rgb — содержит только набор байтов в формате RGB. Формат RAW RGB ничего не знает ни о ширине изображения, ни о его высоте. Перед сохранением в файл производится преобразование в формат RGB;
  • .rgba — содержит только набор байтов в формате RGBA. Формат RAW RGBA ничего не знает ни о ширине изображения, ни о его высоте. Перед сохранением в файл производится преобразование в формат RGBA.

Если сохраняемый файл имеет расширение .uimage, то методы save() и save_im() автоматически передают управление методу save_uimage_gray(). Этот метод можно вызывать непосредственно. Формат метода:

save_uimage_gray(<Путь>)

В качестве параметра указывается путь с расширением .uimage. Если операция выполнена успешно, то метод вернет значение True, а в противном случае — значение False. Изображение сохраняется целиком с максимальной скоростью. Пример:

from unicross_image.uimagegray import UImageGray

img = UImageGray(300, 200, 128)
if img.save_uimage_gray("test.uimage"):
    print("Изображение успешно сохранено")
else:
    print("Не удалось сохранить изображение")

Вместо метода save_uimage_gray() можно воспользоваться методом save_uimage_rgb(). Формат метода:

save_uimage_rgb(<Путь>)

В качестве параметра указывается путь с расширением .uimage. Если операция выполнена успешно, то метод вернет значение True, а в противном случае — значение False. Изображение перед сохранением преобразуется в формат RGB. Пример:

from unicross_image.uimagegray import UImageGray

img = UImageGray(300, 200, 128)
if img.save_uimage_rgb("test.uimage"):
    print("Изображение успешно сохранено")
else:
    print("Не удалось сохранить изображение")

Вместо метода save_uimage_gray() можно воспользоваться методом save_uimage_rgba(). Формат метода:

save_uimage_rgba(<Путь>)

В качестве параметра указывается путь с расширением .uimage. Если операция выполнена успешно, то метод вернет значение True, а в противном случае — значение False. Изображение перед сохранением преобразуется в формат RGBA (альфа-канал будет содержать значения 255). Пример:

from unicross_image.uimagegray import UImageGray

img = UImageGray(300, 200, 0)
if img.save_uimage_rgba("test.uimage"):
    print("Изображение успешно сохранено")
else:
    print("Не удалось сохранить изображение")

Если сохраняемый файл имеет расширение .ppm, то методы save() и save_im() автоматически передают управление методу save_ppm_p6(). Этот метод можно вызывать непосредственно. Формат метода:

save_ppm_p6(<Путь>)

В качестве параметра указывается путь с расширением .ppm. Если операция выполнена успешно, то метод вернет значение True, а в противном случае — значение False. Изображение перед сохранением преобразуется в формат RGB. Пример:

from unicross_image.uimagegray import UImageGray

img = UImageGray(300, 200, 128)
if img.save_ppm_p6("test.ppm"):
    print("Изображение успешно сохранено")
else:
    print("Не удалось сохранить изображение")

Если сохраняемый файл имеет расширение .pgm, то методы save() и save_im() автоматически передают управление методу save_pgm_p5(). Этот метод можно вызывать непосредственно. Формат метода:

save_pgm_p5(<Путь>)

В качестве параметра указывается путь с расширением .pgm. Если операция выполнена успешно, то метод вернет значение True, а в противном случае — значение False. Изображение сохраняется целиком с максимальной скоростью. Пример:

from unicross_image.uimagegray import UImageGray

img = UImageGray(300, 200, 128)
if img.save_pgm_p5("test.pgm"):
    print("Изображение успешно сохранено")
else:
    print("Не удалось сохранить изображение")

Сохранение изображения с помощью PIL (PILLOW)

Если доступна библиотека PIL (PILLOW), то с помощью метода save() можно сохранить изображение в форматах PNG, GIF, JPEG, BMP, TIFF и WebP. Перед сохранением в файл производится преобразование в формат RGB. Для формата PNG можно указать степень сжатия (параметр compress_level_png), а для формата  JPEG — качество (параметр quality_jpg).

Если нужно сохранить изображение в каком-либо другом формате, поддерживаемом библиотекой PIL, то можно с помощью метода get_pil_image() произвести преобразование объекта UImageGray в объект Image, а затем выполнить сохранение файла:

from unicross_image.uimagegray import UImageGray

img = UImageGray(300, 200, 128)
# Преобразование объекта UImageGray в объект Image
img_pil = img.get_pil_image()
print(img_pil.size)       # (300, 200)
print(img_pil.mode)       # L
# Сохранение с помощью PIL
img_pil.save("test.pgm")

Сохранение изображения с помощью ImageMagick

Если библиотека PIL (PILLOW) недоступна, то метод save() передаст управление методу save_im(), который сохраняет изображение с помощью библиотеки ImageMagick. Этот метод можно вызывать непосредственно. Формат метода:

save_im(<Путь>, quality_jpg=92, compress_level_png=7)

В качестве первого параметра указывается путь к файлу. По умолчанию изображения в формате JPEG сохраняются с качеством 92. С помощью параметра quality_jpg можно указать другое значение в диапазоне от 0 до 100. Параметр compress_level_png позволяет задать степень сжатия для PNG файлов  в диапазоне от 0 до 9 (значение по умолчанию: 7). Если операция выполнена успешно, то метод вернет значение True, а в противном случае — значение False. Перед сохранением в файл производится преобразование в формат RGB.

С помощью метода save_im() можно сохранить изображение в форматах PNG, GIF, JPEG, BMP, TIFF, WebP и др. Для формата PNG можно указать степень сжатия (параметр compress_level_png), а для формата  JPEG — качество (параметр quality_jpg).

Если путь содержит расширение .uimage, то метод save_im() передает управление методу save_uimage_gray(). Если путь содержит расширение .ppm, то метод save_im() передает управление методу save_ppm_p6(). Если путь содержит расширение .pgm, то метод save_im() передает управление методу save_pgm_p5(). Если путь содержит расширение .gray, то метод save_im() передает управление методу save_gray(). Если путь содержит расширение .rgb, то метод save_im() передает управление методу save_rgb(). Если путь содержит расширение .rgba, то метод save_im() передает управление методу save_rgba().

Создадим изображение серого цвета и сохраним его в файл в формате PNG:

from unicross_image.uimagegray import UImageGray

img = UImageGray(300, 200, 128)
if img.save_im("test.png"):
    print("Изображение успешно сохранено")
else:
    print("Не удалось сохранить изображение")

Сохранение изображения в файл в формате RAW GRAY

Для взаимодействия с библиотекой ImageMagick имеется метод save_gray(), позволяющий сохранить изображение в файл в формате RAW GRAY. Этот формат хорошо понимает библиотека ImageMagick. Формат метода:

save_gray(<Путь>)

Формат RAW GRAY ничего не знает ни о ширине изображения, ни о его высоте. Он содержит только набор байтов. В качестве параметра указывается путь до файла с расширением .gray. Если операция выполнена успешно, то метод вернет значение True, а в противном случае — значение False. Изображение сохраняется с максимальной скоростью. Пример:

from unicross_image.uimagegray import UImageGray

img = UImageGray(300, 200, 0)
if img.save_gray("test.gray"):
    print("Изображение успешно сохранено")
else:
    print("Не удалось сохранить изображение")

Сохранение изображения в файл в формате RAW RGB

Для взаимодействия с библиотекой ImageMagick имеется метод save_rgb(), позволяющий сохранить изображение в файл в формате RAW RGB. Этот формат хорошо понимает библиотека ImageMagick. Формат метода:

save_rgb(<Путь>)

Формат RAW RGB ничего не знает ни о ширине изображения, ни о его высоте. Он содержит только набор байтов в формате RGB. В качестве параметра указывается путь до файла с расширением .rgb. Если операция выполнена успешно, то метод вернет значение True, а в противном случае — значение False. Пример:

from unicross_image.uimagegray import UImageGray

img = UImageGray(300, 200, 128)
if img.save_rgb("test.rgb"):
    print("Изображение успешно сохранено")
else:
    print("Не удалось сохранить изображение")

Сохранение изображения в файл в формате RAW RGBA

Для взаимодействия с библиотекой ImageMagick имеется метод save_rgba(), позволяющий сохранить изображение в файл в формате RAW RGBA. Этот формат хорошо понимает библиотека ImageMagick. Формат метода:

save_rgba(<Путь>)

Формат RAW RGBA ничего не знает ни о ширине изображения, ни о его высоте. Он содержит только набор байтов в формате RGBA. В качестве параметра указывается путь до файла с расширением .rgba. Если операция выполнена успешно, то метод вернет значение True, а в противном случае — значение False. Альфа-канал будет содержать значения 255. Пример:

from unicross_image.uimagegray import UImageGray

img = UImageGray(300, 200, 0)
if img.save_rgba("test.rgba"):
    print("Изображение успешно сохранено")
else:
    print("Не удалось сохранить изображение")

Класс входит в состав графической библиотеки UImage для Python 3. Описание библиотеки UImage

Категория: UImage | Просмотров: 8 | Добавил: unicross | Теги: UImage, Python, ImageMagick, PIL, UImageGray | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Категории раздела
Списки слов [10]
Списки слов и словари
OCR [4]
Оптическое распознавание символов
UImage [80]
Графическая библиотека для Python
UImage C [7]
Графическая библиотека для Python
Программы [4]
Полезные программы
Прочее [3]
Другие темы
Календарь
«  Декабрь 2025  »
Пн Вт Ср Чт Пт Сб Вс
1234567
891011121314
15161718192021
22232425262728
293031