Как вставить несколько изображений по наибольшему размеру изображения в Python? - PullRequest
0 голосов
/ 20 января 2020

Я пытаюсь вставить несколько изображений по наибольшему размеру изображения. Но я не знаю, как это сделать. Я пытался, но безуспешно. Например, я хочу вставить их: первое изображение будет самым большим, а второе - самым большим после первого изображения и т. Д. c ...

for dirpath, dirs, filenames in os.walk('.'):
    images = [Image.open(file) for file in list(filenames)]
    sizes = max([Image.open(f, 'r').size for f in list(filenames)])
    widths, heights = zip(*(i.size for i in images))
    for file in filenames:
        img_open = Image.open(file)
        w, h = img_open.size
    total_width = sum(widths)
    max_height = max(heights)
    new_im = Image.new('RGBA', (int(q_w), int(q_h)))
    new_im1 = Image.new('RGBA', (int(q_w), int(q_h)))
    new_im2 = Image.new('RGBA', (int(q_w), int(q_h)))
    x_offset = 0
    y = 0
    i = 0
    k = 0
    u = 0
    os.chdir('../')
    for b,im in enumerate(images):
      ww, hh = list(zip(*(im.size for im in images)))
      www, hhh = im.size
      new.append(www)
      print(www)
      max_w = max(ww)
      min_w = min(ww)
      try:
       if im.size == sizes[b]:
        new_im.paste(im, (x_offset,y))
       else:
           continue
       with open('x.txt', 'a') as file:
            file.write(str(x_offset) + "\n")
       with open('y.txt', 'a') as file:
            file.write(str(y) + "\n")
       with open('w.txt', 'a') as file:
            file.write(str(www) + "\n")
       with open('h.txt', 'a') as file:
            file.write(str(hhh) + "\n")
       x_offset += im.size[0]
       sizes.remove(b)
       if x_offset > int(q_w) - max_w:
            x_offset =0
            y_test = 0
            i = b
            hh_for = hh[u:i+1]
            b = u
            u = i +1
            max_h = max(hh_for)
            y += max_h
            0
            if y > int(q_h) - max_h:
                break
                print(b)
      except:
          continue
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...