簡體   English   中英

使用PIL在App Engine上繪制圖像

[英]Using PIL to draw image on App Engine

我已經閱讀了主題“ App Engine,PIL和覆蓋文本 ”。

下面的代碼將顯示損壞的圖像,我該如何糾正?

class TestImg(webapp2.RequestHandler):
    def get(self):
        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())
        self.response.headers['Content-Type'] = "image/png"
        self.response.write(draw)

根據Tim Hoffman的說法,你的課程看起來像這樣:

import StringIO

class TestImg(webapp2.RequestHandler):
    def get(self):
        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())

        output = StringIO.StringIO()
        text_img.save(output, format="png")
        text_layer = output.getvalue()
        output.close()

        self.response.headers['Content-Type'] = 'image/png'
        self.response.write(text_layer)

您擁有的繪圖對象無法傳遞回瀏覽器,因為它不是png。

您需要調用draw.save()並將其傳遞給StringIO對象以將文件寫入。 (您還需要提供文件類型)。 然后你將self.response.write(the_stringio.getvalue())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM