Я ищу быстрый способ применить новую палитру к существующему 8-битовому PNG-изображению. Как я могу это сделать? Является ли .png перекодированным, когда я сохраняю изображение? (Собственный ответ: это так кажется)Изменение палитры 8-битных изображений .png с использованием python PIL
То, что я пробовал (редактировать):
import Image, ImagePalette
output = StringIO.StringIO()
palette = (.....) #long palette of 768 items
im = Image.open('test_palette.png') #8 bit image
im.putpalette(palette)
im.save(output, format='PNG')
С моей testimage функция сохранения занимает около 65 Миллисов. Моя мысль: без декодирования и кодирования, это может быть намного быстрее?
Примеры: http://stackoverflow.com/questions/236692/how-do-i-convert-any-image-to-a-4-color-paletted-image-using -the-python-imaging-l –