соединяем 9 фото в одно изображение
нужно уложить их плиткой в одно фото 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'.")
Свидетельство о публикации №124120106880