Найти в Дзене
КУЗИНОБИТ

Конвертируем из HEIC в PNG.

Привет, Друзья! Сегодня статья будет не очень большая (я и правда так думал как только начал писать статью), но думаю что кому-нибудь она точно поможет 😎 У меня появились фотографии с раcширением HEIC и нужно было их обработать, но проблема состояла в том что этот вот HEIC не так то просто и открыть на компьютере с Windows. Честно говоря он мне именно этим совсем и не нравится и я точно знаю, что не мне одному. Сначала я честно попробовал найти и установить специальные плагины, но в итоге, когда вся эта ситуация меня полностью вывела из себя, я решил эту проблему так, как я уже привык решать эти проблемы. Я написал программу 😁 Начиная с этой статьи (потом добавлю так же и в предыдущие), я буду добавлять готовые программы, чтобы можно было просто скачать и пользоваться. Но помимо готовой программы, я буду добавлять ссылку на исходники. Скачать программу можно с Яндекс диска (инструкцию по работе вы сможете найти ниже): Статья будет поделена на несколько частей. В первой части будет о
Оглавление

Привет, Друзья!

Сегодня статья будет не очень большая (я и правда так думал как только начал писать статью), но думаю что кому-нибудь она точно поможет 😎

У меня появились фотографии с раcширением HEIC и нужно было их обработать, но проблема состояла в том что этот вот HEIC не так то просто и открыть на компьютере с Windows. Честно говоря он мне именно этим совсем и не нравится и я точно знаю, что не мне одному.

Сначала я честно попробовал найти и установить специальные плагины, но в итоге, когда вся эта ситуация меня полностью вывела из себя, я решил эту проблему так, как я уже привык решать эти проблемы. Я написал программу 😁

Начиная с этой статьи (потом добавлю так же и в предыдущие), я буду добавлять готовые программы, чтобы можно было просто скачать и пользоваться. Но помимо готовой программы, я буду добавлять ссылку на исходники.

Скачать программу можно с Яндекс диска (инструкцию по работе вы сможете найти ниже):

converter_heic_to_png.zip

Статья будет поделена на несколько частей. В первой части будет описана работа кода программы, а во второй части инструкция по работе с этой программой. Дзен автоматически формирует оглавление, так что призываю вас этим пользоваться, это удобно 😉

Дзен, к моему глубокому сожалению, по прежнему некорректно отображает табуляцию, поэтому добавляю ссылку на мой репозиторий (там исходники если что) на Github:
GitHub - kuzinobit/converter_heic_to_png

Описание работы кода программы.

Исходный код:

from pillow_heif import register_heif_opener
from PIL import Image
import os
import configparser

register_heif_opener()

# Читаем конфиг
config = configparser.ConfigParser()
config.read("config.conf")

del_before_convert = config.getboolean("Settings", "del_before_convert", fallback=False)

def convert_heic_to_png(input_folder, output_folder, delete_after=False):
if not os.path.exists(output_folder):
os.makedirs(output_folder)

for file in os.listdir(input_folder):
if file.lower().endswith(".heic"):
input_path = os.path.join(input_folder, file)
output_path = os.path.join(output_folder, os.path.splitext(file)[0] + ".png")

try:
with Image.open(input_path) as img:
img.save(output_path, "PNG", quality=100)
print(f"Конвертировано: {file} -> {os.path.basename(output_path)}")

if delete_after:
os.remove(input_path)
print(f"Удалено: {file}")
except Exception as e:
print(f"Ошибка при конвертации {file}: {e}")

if __name__ == "__main__":
input_folder = "data/heic"
output_folder = "data/png"

convert_heic_to_png(input_folder, output_folder, del_before_convert)

Описание:

1. Для начала импортируем нужные библиотеки:

  • pillow_heif.register_heif_opener() — регистрирует поддержку формата HEIC в библиотеке Pillow, что позволяет открывать изображения этого типа.
  • PIL.Image — используется для работы с изображениями (открытие, сохранение в другом формате).
  • os — для работы с файловой системой (чтение, создание папок, удаление файлов).
  • configparser — для чтения конфигурационного файла config.conf.

2. Теперь читаем файл конфигурации:

  • Загружается конфигурация из config.conf.
  • Из раздела [Settings] читается параметр del_before_convert, который определяет, нужно ли удалять исходные файлы HEIC после конвертации (по умолчанию False).

3. Функция convert_heic_to_png():

3.1. Принимает три аргумента:

  • input_folder — папка с HEIC-файлами.
  • output_folder — папка, куда будут сохраняться PNG-файлы.
  • delete_after — если True, исходные HEIC-файлы будут удалены после конвертации.

3.2. Если папка output_folder не существует, она создается.
3.3. Программа перебирает файлы в input_folder, проверяя, заканчивается ли имя на .heic.
3.4. Открывает каждый
HEIC-файл, конвертирует его в PNG и сохраняет с качеством 100%.
3.5. Выводит сообщение об успешной конвертации в окно консоли.
3.6. Если delete_after=True, удаляет исходный
HEIC-файл.

Как работать с программой ConvertHeicToPng.

Что вам понадобится.

  1. Файл программы: ConvertHeicToPng.exe
  2. Файл настроек: config.conf
  3. Папка data, содержащая две подпапки:
  • heic — сюда нужно поместить файлы .heic для конвертации.
  • png — сюда будут сохраняться сконвертированные файлы.

📥 Скачайте архив с программой по ссылке:

converter_heic_to_png.zip

Подготовка к работе.

1. Распаковка архива.

Скачанный архив необходимо разархивировать в удобное место на вашем компьютере (например, на рабочий стол).

2. Настройка программы.

Откройте файл config.conf с помощью Блокнота или любого текстового редактора.

Найдите строку:
del_before_convert = False

Если хотите, чтобы после конвертации исходные .heic-файлы удалялись, замените False на True. Если удаление не нужно, оставьте False.

📌 Важно: Файл настроек должен находиться в той же папке, что и программа.

Как использовать программу.

1. Подготовка изображений.

  • Поместите все файлы .heic, которые нужно сконвертировать, в папку heic.

2. Запуск программы.

  • Дважды кликните по файлу ConvertHeicToPng.exe.
  • Откроется консольное окно, в котором будет отображаться процесс конвертации.

3. Проверка результатов.

  • После завершения работы программы загляните в папку png.
  • Все сконвертированные изображения в формате PNG будут там.

Важные замечания.

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