I 나는 새, 안녕하세요 그래서 커뮤니티 나는 베개와 함께 devoloping하고'ImageDraw'전역 이름이 정의되지 나가서 설명하자면 NameError
(Tkinter를, BmpImagePlugin, cStringIO, 서브 프로세스, CTYPE의 재 .. N) 모듈
이 상황이 나에게 보여 주면 때나는이 방법을 사용하고 AttributeError
from PIL import *
내가 시도-제외
이 코드 라인을 해결내 orginal 한 코드 부분
class capsGen(object):
def __init__(self):
pass
def videoGen(self,path):
iv = InputVideoStream()
iv.open(path)
self.videoHead(path)
print self.topDuration
frameDiff = list(enumerate(iv.readframe())) #bmp -> [io][1]
self.totalFrame = frameDiff[-1][0]
#16 imgs
self.genImgs = []
curImg = 0
while True:
if curImg < 16:
self.genImgs.append(randint(1,self.totalFrame))
curImg = curImg + 1
else:
break
try:
src = PIL.Image.open("src.png")
ciz = PIL.ImageDraw.draw(src)
ft = PIL.ImageFont.truetype("arial.ttf",32)
ciz.text((190,15),self.fileName,font=ft) #fileName
src.save("1.png")
#print frameDiff[5][0]
for i in self.genImgs:
imj = PIL.Image.open(StringIO.StringIO(frameDiff[i][1])) #base io -> [capsNo][1]
imj.save("%s.png"%i)
except NameError:
src = Image.open("src.png")
ciz = ImageDraw.draw(src)
ft = ImageFont.truetype("arial.ttf",32)
ciz.text((190,15),self.fileName,font=ft) #fileName
src.save("1.png")
#print frameDiff[5][0]
for i in self.genImgs:
imj = Image.open(StringIO.StringIO(frameDiff[i][1])) #base -> [io][1]
imj.save("%s.png"%i)
내 오류,
Traceback (most recent call last):
File "o.py", line 275, in (module)
run = capsGen()
File "o.py", line 42, in __init__
self.videoGen() #for developers
File "o.py", line 157, in videoGen
ciz = ImageDraw.draw(src)
NameError: global name 'ImageDraw' is not defined
그러나 나는 베개 모듈을 설치하고 나는 수입 PIL 또는 Image..N 모듈 빈 파이썬 파일 작업을 만듭니다. 그저 my_project (o.py)에서 작업하고있는 것이 아닙니다.
관심 대상입니다. 좋은 작품입니다.