Найти - Пользователи
Полная версия: Как сделать массив с изображениями
Начало » Python для новичков » Как сделать массив с изображениями
1
Antarius
Здравствуйте.
Использую PIL
Как мне загрузить с диска в массив несколько изображений из файлов (png), а затем использовать одно изображение из этого массива, выбрав его индекс переменной?

Поясню:

im01d = Image.open('01d.png')
im01n = Image.open('01n.png')
im02d = Image.open('02d.png')
im02n = Image.open('02n.png')
im03d = Image.open('03d.png')
im03n = Image.open('03n.png')
im04d = Image.open('04d.png')
im04n = Image.open('04n.png')
im09d = Image.open('09d.png')
im09n = Image.open('09n.png')



image.paste(im01d, (400+pos*150,380, 472+pos*150,380+72), 0)

Надо, чтобы выделенное было переменной.
Или расскажите другой способ как получить доступ к изображению по значению переменной.

Спасибо.
Stright
 filenames = ['01d.png', '01n.png', '02d.png', '02n.png', '03d.png',
              '03n.png', '04d.png', '04n.png', '09d.png', '09n.png']
images = [Image.open(filename) for filename in filenames]
for img in images:
    image.paste(
        img, (400+pos*150, 380, 472+pos*150, 380+72), 0)
Antarius
Спасибо!
А можно сделать так, чтобы переменная была не индексом созданного массива, а названием файла в виде строковой переменной?
Т.е. в процессе где-то присвается переменной допустим x='01d' и нужно вклеить элемент массива, который считывался из файла 01d.png.
Stright
Переменная img - не индекс, а объект Image. Может я не совсем правильно понял вас вопрос, можно сделать через dict:
 filenames = ['01d.png', '01n.png', '02d.png', '02n.png', '03d.png',
             '03n.png', '04d.png', '04n.png', '09d.png', '09n.png']
images = {filename: Image.open(filename) for filename in filenames}
for filename, img in images.items():
    image.paste(
        img, (400+pos*150, 380, 472+pos*150, 380+72), 0)

Это, если вам нужно имя файла в цикле
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB