Пример #1
0
def force_to_palette(filename, donor_palette_filename):
	img = Image.open(filename)

	if donor_palette_filename:
		donor_img = Image.open(donor_palette_filename)
		palette = pilutils.decode_lousy_pil_palette_data(donor_img.palette.getdata())
		print(donor_img.palette.getdata())
	else:
		palette = find_palette(img)

	dst = Image.new("P", img.size)

	#dst.putpalette(donor_img.palette.getdata()[1])
	dst.putpalette(todata(palette))

	width, height = img.size

	for idx, pixel in enumerate(img.getdata()):

		colour = closest_match(pixel, palette)
		dst.putpixel((idx % width, idx // width), colour)
	
	return dst
Пример #2
0
def get_palette(donor_filename):
	img = Image.open(donor_filename)
	return pilutils.decode_lousy_pil_palette_data(img.palette.getdata())