Гид по технологиям

Редактирование изображений в JES и сохранение результата

4 min read Программирование Обновлено 19 Dec 2025
Редактирование изображений в JES — сохранить изображение
Редактирование изображений в JES — сохранить изображение

Редактирование изображения в программном обеспечении на компьютере

Что такое JES

JES (Jython Environment for Students) — простая среда разработки, ориентированная на образование. Она использует Jython (реализация Python на JVM) и предоставляет удобный интерфейс для написания, выполнения и отладки кода, а также встроенные библиотеки для работы с изображениями, звуком и видео.

Кратко: JES упрощает программную обработку медиа, сочетая знакомый синтаксис Python и Java-библиотеки.

Важно: Jython выполняется на Java, поэтому некоторые Java-классы доступны напрямую.

Первые шаги: пример сценария для сохранения изменённого изображения

Ниже показан минимальный шаблон функции, которая открывает диалог выбора файла, применяет изменения и сохраняет изображение в указанную папку.

def savePictureToFile():
    file = pickAFile()
    pic = makePicture(file)
    # Пример: добавить текст
    import java.awt.Font as Font
    s = "Text added to modify image"
    styledFont = makeStyle("Arial", Font.BOLD, 96)
    addTextWithStyle(pic, 200, 200, s, styledFont)
    # Сохранить
    pathToDesktop = "C:\\Users\\Sharl\\Desktop\\"
    newFileName = "newPic.jpg"
    fullPath = pathToDesktop + newFileName
    writePictureTo(pic, fullPath)

Пояснения по коду:

  • pickAFile() — показывает файловый диалог и возвращает путь к файлу.
  • makePicture(file) — создаёт объект изображения на основе выбранного файла.
  • addTextWithStyle(...) и makeStyle(...) используют Java-шрифты через Jython.
  • writePictureTo(pic, fullPath) — записывает изображение в указанный путь.

Шаги подробно (практическая инструкция)

  1. Откройте приложение JES на компьютере.
  2. В окне программирования создайте новую функцию savePictureToFile().
  3. Внутри функции вызовите диалог выбора файла: file = pickAFile().
  4. Создайте объект изображения: pic = makePicture(file).
  5. Внесите изменения в изображение (например, добавьте текст):
import java.awt.Font as Font
str = "Text added to modify image"
styledFont = makeStyle("Arial", Font.BOLD, 96)
addTextWithStyle(pic, 200, 200, str, styledFont)
  1. Укажите путь для сохранения и имя файла. На Windows путь может выглядеть так:
pathToDesktop = "C:\\Users\\Sharl\\Desktop\\"
newFileName = "newPic.jpg"
fullPath = pathToDesktop + newFileName
  1. Сохраните изображение:
writePictureTo(pic, fullPath)
  1. Нажмите кнопку Load Program (Загрузить программу) в интерфейсе JES, затем в терминале введите savePictureToFile() и нажмите Enter.

Интерфейс JES с кодом

Окно выбора файла в JES

Сохранённое изображение с изменениями (пляж)

Советы по локальным путям и права доступа

  • На Windows используйте двойные обратные слэши \\ в строковых путях или r-строки, если поддерживается.
  • На macOS и Linux используйте пути в формате /Users/имя/Desktop/.
  • Убедитесь, что у вас есть права на запись в папку назначения.

Важно: неверный путь или отсутствие прав вызывает ошибки при записи файла.

Частые ошибки и как их исправить

  • Ошибка: «file not found» — пользователь отменил выбор файла или указал неверный путь. Решение: проверьте результат pickAFile() и добавьте проверку.
  • Ошибка сохранения — проверьте права доступа и правильность пути.
  • Проблемы со шрифтами — убедитесь, что указанный шрифт доступен в системе, или используйте стандартные шрифты.

Пример защиты от ошибок:

def savePictureToFile():
    file = pickAFile()
    if not file:
        print("Файл не выбран")
        return
    pic = makePicture(file)
    try:
        writePictureTo(pic, fullPath)
        print("Сохранено: " + fullPath)
    except Exception as e:
        print("Ошибка сохранения:", e)

Мини-методология: итеративный подход к редактированию изображений

  1. Сначала загрузите изображение и сохраните исходник под другим именем.
  2. Применяйте одно изменение за раз и тестируйте результат.
  3. Делайте резервные копии (backup) перед сложными операциями.
  4. Автоматизируйте повторяющиеся преобразования в функциях.

Чек-листы по ролям

  • Для преподавателя:
    • Подготовьте набор исходных изображений и примеров кода.
    • Объясните концепцию пикселей и координат.
  • Для студента:
    • Проверяйте результаты после каждого шага.
    • Экспериментируйте с шрифтами, размерами и координатами.
  • Для разработчика инструментов:
    • Обрабатывайте исключения и логируйте операции записи.

Шпаргалка по функциям JES

  • pickAFile() — выбрать файл через диалог.
  • makePicture(path) — создать изображение из файла.
  • show(pic) — отобразить изображение в окне JES.
  • getPixel(pic, x, y) / setColor(pixel, color) — работать с пикселями.
  • addTextWithStyle(pic, x, y, text, style) — добавить текст.
  • writePictureTo(pic, path) — сохранить изображение.

Критерии приёмки

  • Функция корректно открывает файловый диалог и возвращает путь.
  • Изменения применяются видимо (например, текст добавлен в изображение).
  • Файл успешно записан в указанную папку и открыт в средстве просмотра.

Глоссарий (одно предложение)

  • Jython — реализация Python для JVM, позволяющая вызывать Java-классы из Python-подобного кода.
  • JES — обучающая среда, использующая Jython для работы с медиа.
  • Pixel — элемент изображения с координатами и цветом.

Заключение

JES удобно применять для базовой и образовательной обработки изображений: программа даёт быстрый путь от идеи к результату. Начните с малого: загрузите картинку, внесите простое изменение, сохраните файл. Используйте предложенные шаблоны и чек-листы, чтобы избежать типичных ошибок и организовать процесс работы.

Итог: с JES вы можете автоматизировать редактирование изображений и быстро сохранить результаты на локальном диске.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Защитите аккаунт Microsoft без входа по паролю
Безопасность

Защитите аккаунт Microsoft без входа по паролю

Уменьшить сетевую загрузку Service Host Network Service
Windows

Уменьшить сетевую загрузку Service Host Network Service

Как сделать Google домашней страницей в Chrome
Браузеры

Как сделать Google домашней страницей в Chrome

Восстановление SteamOS на Steam Deck
Руководство

Восстановление SteamOS на Steam Deck

Экспорт записной книжки OneNote — пошагово
Руководство

Экспорт записной книжки OneNote — пошагово

Как использовать Microsoft Copilot: Windows, Edge, Microsoft 365
Руководство

Как использовать Microsoft Copilot: Windows, Edge, Microsoft 365