PIL сохранить как 24-битный точечный цвет - PullRequest
4 голосов
/ 18 августа 2010

Эй, ребята, у меня есть png-файл, сгенерированный Gnuplot, который мне нужно вставить в документ Excel с помощью XLWT.

XLWT не может импортировать PNG в документ, только BMP, поэтому мне нужно было конвертироватьPNG первый.Я использовал PIL для этого.

Вот соответствующий код:

im = Image.open('%s' % os.path.join(os.getcwd(), s + '.png'))
im.save('%s.bmp' % s)

Однако XLWT выдает мне эту ошибку:

Exception: bitmap isn't a 24bit true color bitmap.

Вот как выглядит код XLWT:

self.chart.insert_bitmap(path, 2, 2) 

Я знаю, что оба изображения работают нормально, они оба открываются окнами.Я также попытался добавить 2-секундную паузу после создания BMP (чтобы компенсировать время записи), но все равно не получается.

Как мне создать 24-битный растровый битовый цвет с использованием PIL?

1 Ответ

6 голосов
/ 19 августа 2010

Nevermind! Просто сам разобрался.

Изменение

im = Image.open('%s' % os.path.join(os.getcwd(), s + '.png'))

К

im = Image.open('%s' % os.path.join(os.getcwd(), s + '.png')).convert("RGB")
...