from PIL import Image import glob import random from escpos.printer import Usb p = Usb(0x4b8, 0x0e03) new_image = Image.new('RGBA',(288*2, 288*19), (255,255,255)) for uu in range(0,1): images = glob.glob("images/*.png",recursive=False) random.shuffle(images) print(images) while images: length = len(images)-1 r = random.randint(0,length) img = Image.open(images.pop(r)) width, height = img.size if width == height: img = img.rotate(random.choice((0,90,180,270))) if width == 288 and height == 288: tempImage = Image.new('RGBA',(576, 288),(255,255,255)) tempImage.paste(img, (0,0)) counter = 0 while True: counter = counter + 1 length = len(images)-1 print(length) if length == -1: break r = random.randint(0,length) img = Image.open(images[r]) img.rotate(random.choice((0,90,180,270))) width, height = img.size if width == 288: images.pop(r) break if counter == 50: break tempImage.paste(img, (288,0)) p.image(tempImage) elif width == 288 and height == 576: tempImage = Image.new('RGBA',(576, 576),(255,255,255)) tempImage.paste(img, (0,0)) counter = 0 while True: counter = counter + 1 length = len(images)-1 if length == -1: break r = random.randint(0,length) img = Image.open(images[r]) img = img.rotate(random.choice((0,90,180,270))) width, height = img.size if width == 288 and height == 288: images.pop(r) break if counter == 50: break tempImage.paste(img, (288,0)) counter = 0 while True: counter = counter + 1 length = len(images)-1 if length == -1: break r = random.randint(0,length) img = Image.open(images[r]) img = img.rotate(random.choice((0,90,180,270))) width, height = img.size if width == 288 and height == 288: images.pop(r) break if counter == 50: break tempImage.paste(img, (288,288)) p.image(tempImage) else: p.image(img) p.textln() p.cut() p.textln() p.textln() p.textln() p.cut()