Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在程序(Python)的末尾,我的图像没有出现?_Python_Image_Flickr - Fatal编程技术网

在程序(Python)的末尾,我的图像没有出现?

在程序(Python)的末尾,我的图像没有出现?,python,image,flickr,Python,Image,Flickr,我的意图是用flickr中的图片创建一个由某物组成的正方形网格。我已经写了我所有的代码,它一直工作到我试图调整参数的程度,这样我就可以创建任何大小的网格(这意味着不一定严格地说是4x4,而是我可以放在5x5网格中,或者你有什么) 这是一个家庭作业,我已经尽我所能了。我不知道为什么在代码运行完后图像不会弹出。我已经调试了一遍又一遍,看了很多网站,我不知道!我对编程比较陌生,所以请理解。提前感谢您提供的任何建议或线索 import flickr import Image def adjust_si

我的意图是用flickr中的图片创建一个由某物组成的正方形网格。我已经写了我所有的代码,它一直工作到我试图调整参数的程度,这样我就可以创建任何大小的网格(这意味着不一定严格地说是4x4,而是我可以放在5x5网格中,或者你有什么)

这是一个家庭作业,我已经尽我所能了。我不知道为什么在代码运行完后图像不会弹出。我已经调试了一遍又一遍,看了很多网站,我不知道!我对编程比较陌生,所以请理解。提前感谢您提供的任何建议或线索

import flickr import Image

def adjust_sizing(image):
    (w, h) = image.size

    #proportionality
    height = ((256*h)/w)
    width = ((w/h) * 256)

    if h > w:
        image = image.resize(( 256 , (height) ))
    elif w > h:
        image = image.resize(( (width) , 256 ))

    image = image.crop(( 0, 0, 256, 256))
    image.save("image.png")
    return image


def photocollage(tag, number, rawnum, canvas):
    url_list = flickr.getphotos(apicode, tag, number)

    #number is number of images needed total
    #rawnumb is number of rows/columns

    #Create list of all coordinates that need to be occupied
    coordinates = set()
    i = 0
    while i < rawnum:
        w = (256 * i)
        j = 0
        while j < rawnum:
            h = (256 * j)
            j += 1
            coordinates.add((w,h))
    i += 1
    coordinates.add((w,h))
    cords = list(coordinates)

    #Create list for all images that need to be matched with a coordinate
    imagelist = []
    for url in url_list:
        image = flickr.openphoto(url)
        image.save("image.png")
        image = adjust_sizing(image)
        imagelist.append(image)

    #paste to canvas image in image list[k] at coordinates cords[k]
    k = 0
    while k <= number:
        canvas.paste(imagelist[k], cords[k])  


    #return final image
    return canvas


 def create_wallpaper(tag, length, output_name):
          collage = Image.new('RGB', (length, length), 'white')
          image = photocollage(tag, (length**2), length, collage)
          image.save(output_name)
          image.show()        


 apicode = '219084039852' #I made this up for now, it's irrelevant

 create_wallpaper("cats", 4, "catpic.png")
导入flickr导入图像
def调整_大小(图像):
(w,h)=图像大小
#相称性
高度=((256*h)/w)
宽度=((宽/高)*256)
如果h>w:
image=image.resize((256,(高度)))
如果w>h:
image=image.resize((宽度),256))
image=image.crop((0,0,256,256))
image.save(“image.png”)
返回图像
def光电集合(标签、编号、rawnum、画布):
url\u list=flickr.getphotos(apicode,tag,number)
#number是所需的图像总数
#rawnumb是行/列的数量
#创建需要占用的所有坐标的列表
坐标=集合()
i=0
而我当k时,你永远不会增加
k
,因此你的
while
循环永远不会结束

您也可以使用
for
循环,而不是
while
循环:

for k in range(0, number):
    canvas.paste(imagelist[k], cords[k]) 
但是image.show()以前工作过。。为什么现在它不工作了?