PIL成像模块putpalette issu

2024-09-29 17:53:57 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我想为一个游戏制作一个精灵生成器,但是我在应用调色板时遇到了一个问题。代码就在那里,这样人们就可以看到我是如何完成代码的。它把所有的图像放在一起,但是没有得到任何调色板。有人知道吗?在

#  ===============================================================  #
# Uses Python 2.7 with Pillow Imaging Library Module Version 4.2.1  #
#  ===============================================================  #
import glob
import os
import random
# Import Pillow (PIL) Image Module
from PIL import Image
# Add in array for multiple file saves for output
for N in range( 0, 16 ):

# Setup locations of image files
palette = [os.path.normpath( g ) for g in glob.glob( './images/palettes/*.png' )]
grips = [os.path.normpath( g ) for g in glob.glob( './images/grips/*.png' )]
pommels = [os.path.normpath( g ) for g in glob.glob( './images/pommels/*.png' )]
crossguards = [os.path.normpath( g ) for g in glob.glob( './images/crossguards/*.png' )]
blades = [os.path.normpath( g ) for g in glob.glob( './images/blades/*.png' )]

palette = Image.open( random.choice( palette ), 'r' )

# Add the parts
grip = Image.open( random.choice( grips ), 'r' )
pommel = Image.open( random.choice( pommels ), 'r' )
crossguard = Image.open( random.choice( crossguards ), 'r' )
blade = Image.open( random.choice( blades ), 'r' )

# Apply Palette
for image in (grip, pommel, blade, crossguard):
    Image.putpalette(image)

composite = Image.new( 'RGBA', (32, 32) )

# Paste all parts together
composite.paste( grip )
composite.paste( pommel, (0, 0), pommel.convert() )
composite.paste( blade, (0, 0), blade.convert() )
composite.paste( crossguard, (0, 0), crossguard.convert() )

# Save the file(s) to output dir
composite.save( 'out.png' )

Tags: pathinimageimportforpngosrandom

热门问题