Как стать автором
Обновить

Конвертируем .bmp в .png, с помощью Python и PIL

Время на прочтение1 мин
Количество просмотров8.2K
В предыдущем посте я воспользовался стандартным «PrtSc», на Windows XP, сделав серию из скриншотов, обработав и сохранив их в обычном Paint'е — получилось около 3.5 Мб на каждую картинку.

Здесь хочу исправить получившееся недоразумение, средствами питона (по-прежнему, версии 2.6).

Вообще забавно, но после установки PIL проблема решается в две строчки кода.
import Image

Image.open('1.bmp').save('1.png')

Получилось порядка 27 Кб на картинку, против первых 3.5 Мб


Порадовались, и написали код, для массовой конвертации из существующей папки.
import os, Image

os.chdir('F:\\4habr\\1publication'# поменяем директорию на ту, где у нас расположены картинки

for fname in os.listdir(os.getcwd()): # os.listdir - соответственно, есть ли что-нибудь, у нас, в папке,
    try:
        Image.open(fname).save(os.path.splitext(fname)+'.png'# а os.getcwd() - папка, в которую мы однажды перешли
    except DefaultError: 
        print('Sorry, we have no pictures.')

И ещё, кому интересно, для упрощения процедуры массового конвертирования можно использовать вот этот скриптик, который в свою очередь задействует Tkinter.

Если у Вас есть идеи, как код улучшить — с радостью их приму на вооружение.
Теги:
Хабы:
+5
Комментарии8

Публикации

Истории

Работа

Data Scientist
63 вакансии
Python разработчик
142 вакансии

Ближайшие события