User:Stonestone/pythonnotes: Difference between revisions

From XPUB & Lens-Based wiki
No edit summary
No edit summary
Line 1: Line 1:
===大明白区===
===外援授课区===
<pre>#这是一个mjpeg,然后用handbreak处理。最近上课就在讲这些东西.
 
from PIL import Image, ImageDraw, ImageFont
from PIL import Image, ImageDraw, ImageFont


Line 16: Line 14:
# 'w' for writing (truncating the file if it already exists)
# 'w' for writing (truncating the file if it already exists)
# append 'b' to the mode value to open the file in binary mode, which will improve portability.
# append 'b' to the mode value to open the file in binary mode, which will improve portability.
of = open("frames.mjpeg", "wb") #不太懂这句啥意思,有啥用。
of = open("frames.mjpeg", "wb")  


for i in range(100):
for i in range(100):
     # the value range of `i` is 0 to 99
     # the value range of `i` is 0 to 99
     p = i/99.0 #不明白为什么要除以99为什么不是除以100,老师说了一嘴我没听明白。。
     p = i/99.0  
     l = p*(1920-50)
     l = p*(1920-50)
     print p , l
     print p , l

Revision as of 22:49, 30 November 2015

外援授课区

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"

等回复区