User:Stonestone/pythonnotes

From XPUB & Lens-Based wiki

外援授课区

from PIL import Image, ImageDraw, ImageFont

  1. Docs: https://docs.python.org/2/library/stringio.html
  2. If you measure for speed, you should use cStringIO

from cStringIO import StringIO #其实不太懂StringIO这个模块。 import random

f = ImageFont.truetype("/Users/Stone/Desktop/Ptah-Regular.otf", size=300)

  1. `open` is a Python build-in function
  2. Docs: https://docs.python.org/2/library/functions.html#open
  3. "frames.mjpeg"(filename) is the first param of open function.
  4. 'w' for writing (truncating the file if it already exists)
  5. append 'b' to the mode value to open the file in binary mode, which will improve portability.

of = open("frames.mjpeg", "wb")

for i in range(100):

   # the value range of `i` is 0 to 99
   p = i/99.0 
   l = p*(1920-50)
   print p , l
   r = random.randint(1,225)
   g = random.randint(220,255)
   b = random.randint(111,225)
   im = Image.new("RGB", (1920,1080) , color=(r,g,b)) #("mode",(size),(color))
   draw = ImageDraw.Draw(im)
   sc=p*255
   tp = 80+(p*1870)
   draw.text((tp,680), str(i), fill=(255,0,0),font=f)
   draw.text((tp-2,680-2), str(i), fill=(0,0,0),font=f)
   draw.text((tp+2,680+2), str(i), fill=(0,0,0),font=f)
   # See `StringIO` docs above. `class StringIO.StringIO([buffer])`
   # StringIO provides a convenient means of working with text in memory using the file API (read, write. etc.).
   buf = StringIO() #不太懂buf指的是什么。。
   im.save(buf, format="jpeg")
   of.write(buf.getvalue()) #of = bucket
   print i

print "done"

等回复区