2017-02-07 3 views
0

Я новичок в компьютерном кодировании. Мы работаем с Canopy, чтобы делать PYTHON, и мы делаем модификацию изображения. У меня есть объект 'module', у которого нет атрибута 'draw' error и я не уверен, как его исправить. Я импортировал следующее:Что означает объект 'module' без атрибута 'draw'? Как это исправить?

import PIL 
import os.path 
import PIL.ImageDraw    
import PIL 
from PIL import ImageFont 
from PIL import Image 
from PIL import ImageDraw 

И код я пытаюсь запустить это:

def round_corners_of_all_images(directory=None): 
    """ Saves a modfied version of each image in directory. 

    Uses current directory if no directory is specified. 
    Places images in subdirectory 'modified', creating it if it does not exist. 
    New image files are of type PNG and have transparent rounded corners. 
    """ 

    if directory == None: 
     directory = os.getcwd() # Use working directory if unspecified 

    # Create a new directory 'modified' 
    new_directory = os.path.join(directory, 'modified') 
    try: 
     os.mkdir(new_directory) 
    except OSError: 
     pass # if the directory already exists, proceed 

    #load all the images 
    image_list, file_list = get_images(directory) 

    #go through the images and save modified versions 
    for n in range(len(image_list)): 
     # Parse the filename 
     filename, filetype = file_list[n].split('.') 

     # drawing the text on the picture 
     draw = ImageDraw.Draw(image_list[n]) 
     font = ImageFont.truetype("Infinite_Stroke",size=24,index=0,encoding="unic") 
     draw.text((10, 25),(0,0,255),"SAMSUNG", font=font) 

     # Round the corners with radius = 30% of short side 
     new_image = round_corners(image_list[n],.30) 
     #save the altered image, suing PNG to retain transparency 
     new_image_filename = os.path.join(new_directory, filename + '.jpg') 
     new_image.save(new_image_filename)  
+2

Я считаю, что у вас есть неправильная капитализация: 'draw = ImageDraw.draw (image_list [n])' -> 'draw = ImageDraw.Draw (image_list [n])' –

+0

Я пробовал это, и я все еще получаю то же сообщение , – evaaaannnnnnnn

+2

Не _describe_ ваша ошибка - скопируйте и вставьте полную трассировку. – DSM

ответ

1

Из документации он выглядит как метод, который вы ищете, Draw(), а не рисовать ()

http://pillow.readthedocs.io/en/3.1.x/reference/ImageDraw.html

Попробуйте

draw = ImageDraw.Draw(image_list[n]) 
+0

Я пробовал это, и я все еще получаю то же сообщение. – evaaaannnnnnnn

+0

Можете ли вы отредактировать свой пост, чтобы показать новый код? Мне очень странно, что вы все равно получите то же сообщение об ошибке. –

+0

Я отредактировал мой вопрос, чтобы отобразить мой новый код. – evaaaannnnnnnn

Смежные вопросы