GAE의 이미지 위에 일부 텍스트를 오버레이하려고합니다. 이제 그들은 문제가되어서는 안되는 PIL 라이브러리를 공개합니다.App Engine, PIL 및 오버레이 텍스트
다음은 내가 가지고있는 것입니다. 그것은 작동하지만, 별도의 오버레이 이미지를 작성한 후 병합하지 말고 직접 배경 이미지에 직접 써야한다고 생각합니다.
내가 Image.frombuffer라도 사용할 수, 나는 그것을 갈 준하지만 난 당신이 대신 [Image.open][1]
방법을 사용해야합니다 ...
from PIL import Image, ImageDraw, ImageFont
from google.appengine.api import images
from google.appengine.ext import blobstore
from google.appengine.api import files
def compose(key):
# create new image
text_img = Image.new('RGBA', (800,600), (0, 0, 0, 0))
draw = ImageDraw.Draw(text_img)
draw.text((0, 0), 'HELLO TEXT', font=ImageFont.load_default())
# no write access on GAE
output = StringIO.StringIO()
text_img.save(output, format="png")
text_layer = output.getvalue()
output.close()
# read background image
blob_reader = blobstore.BlobReader(key)
background = images.Image(blob_reader.read())
# merge
merged = images.composite([(background, 0, 0, 1.0, images.TOP_LEFT),
(text_layer, 0, 0, 1.0, images.TOP_LEFT)],
800, 600)
# save
file_name = files.blobstore.create(mime_type='image/png')
with files.open(file_name, 'a') as f:
f.write(merged)
files.finalize(file_name)
Plz, 어떻게 googleappengine에 PIL을 설치할 수 있습니까? 고맙습니다. – armandomiani