Sealyu

          --- 博客已遷移至: http://www.sealyu.com/blog

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks

          Here’s a simple django view which creates a PIL image on the fly, and returns it as a PNG image:

          from django.utils.httpwrappers import HttpResponse
          from PIL import Image

          import random
          INK = "red", "blue", "green", "yellow"

          def image(request):

          # ... create/load image here ...
          image = Image.new("RGB", (800, 600), random.choice(INK))

          # serialize to HTTP response
          response = HttpResponse(mimetype="image/png")
          image.save(response, "PNG")
          return response
           

          To draw things on the fly, you can use either PIL’s ImageDraw module, or the aggdraw module:

          from django.utils.httpwrappers import HttpResponse
          from PIL import Image
          from aggdraw import Draw, Pen, Brush, Font

          import random

          def graphics(request):

          image = Image.new("RGB", (800, 600), "white")
          draw = Draw(image)

          # ... draw graphics here ...
          for i in range(20):
          x0 = random.randint(0, image.size[0])
          y0 = random.randint(0, image.size[1])
          x1 = random.randint(0, image.size[0])
          y1 = random.randint(0, image.size[1])
          draw.rectangle((x0, y0, x1, y1), Pen(random.choice(INK), 5))

          draw.flush()

          response = HttpResponse(mimetype="image/png")
          image.save(response, "PNG")
          return response
          posted on 2008-11-06 09:32 seal 閱讀(480) 評論(0)  編輯  收藏 所屬分類: Python
          主站蜘蛛池模板: 漳平市| 浦东新区| 巢湖市| 星座| 邯郸县| 庆安县| 错那县| 林州市| 丰都县| 柯坪县| 民乐县| 惠安县| 竹山县| 且末县| 涞源县| 建平县| 大宁县| 房产| 台南县| 怀仁县| 商都县| 鄂尔多斯市| 葫芦岛市| 陈巴尔虎旗| 扎鲁特旗| 塘沽区| 隆昌县| 慈溪市| 剑川县| 新疆| 闻喜县| 什邡市| 即墨市| 区。| 孙吴县| 蒙山县| 昔阳县| 明水县| 云梦县| 江津市| 六枝特区|