соединяем 9 фото в одно изображение

в папке с программой есть 9 фото jpg
нужно уложить их плиткой в одно фото 3 на 3
размер всех фотографий подгоняем под размер самой маленькой фото

Для создания плитки из 9 фотографий в формате 3 на 3, вам нужно выполнить несколько шагов. Я опишу процесс, который можно использовать, например, с помощью Python и библиотеки PIL (Pillow). Если у вас нет Python, вы можете воспользоваться графическими редакторами, такими как Photoshop или GIMP, но я приведу пример с кодом.

Установите библиотеку Pillow, если она у вас еще не установлена. Вы можете сделать это с помощью pip:

pip install Pillow
Используйте следующий код для создания плитки:

from PIL import Image
import os

# Папка с изображениями
folder_path = 'path_to_your_folder'
images = [Image.open(os.path.join(folder_path, img)) for img in os.listdir(folder_path) if img.endswith('.jpg')]

# Найдем минимальные размеры
min_width = min(img.width for img in images)
min_height = min(img.height for img in images)

# Приведем все изображения к минимальным размерам
resized_images = [img.resize((min_width, min_height)) for img in images]

# Создаем новое изображение для плитки
tile_width = min_width * 3
tile_height = min_height * 3
tile_image = Image.new('RGB', (tile_width, tile_height))

# Заполняем плитку
for index, img in enumerate(resized_images):
    x = (index % 3) * min_width
    y = (index // 3) * min_height
    tile_image.paste(img, (x, y))

# Сохраняем итоговое изображение
tile_image.save('tile_image.jpg')


Как работает этот код :
Скрипт загружает все JPG-изображения из указанной папки.
Находит размеры самого маленького изображения и изменяет размеры всех остальных изображений под него.
Создает новое изображение, в которое помещает все 9 изображений в формате 3 на 3.
Сохраняет итоговое изображение как tile_image.jpg.
Замените path_to_your_folder  на путь к вашей папке с изображениями.









from PIL import Image
import os

# Папка с изображениями (текущая директория)
folder_path = os.getcwd()  # Получаем текущую рабочую директорию
images = [Image.open(os.path.join(folder_path, img)) for img in os.listdir(folder_path) if img.endswith('.jpg')]

# Проверяем, что у нас есть 9 изображений
if len(images) != 9:
    raise ValueError("В папке должно быть ровно 9 изображений.")

# Найдем минимальные размеры
min_width = min(img.width for img in images)
min_height = min(img.height for img in images)

# Приведем все изображения к минимальным размерам
resized_images = [img.resize((min_width, min_height)) for img in images]

# Создаем новое изображение для плитки
tile_width = min_width * 3
tile_height = min_height * 3
tile_image = Image.new('RGB', (tile_width, tile_height))

# Заполняем плитку
for index, img in enumerate(resized_images):
    x = (index % 3) * min_width
    y = (index // 3) * min_height
    tile_image.paste(img, (x, y))

# Сохраняем итоговое изображение
tile_image.save('tile_image.jpg')

print("Плитка успешно создана и сохранена как 'tile_image.jpg'.")


Рецензии