图片旋转拼接

查看 215|回复 11
作者:zjg121   
打包成exe的源文件。

a.rar
(1.51 KB, 下载次数: 3)
2024-3-31 21:05 上传
点击文件名下载附件
下载积分: 吾爱币 -1 CB


成品出来啦!名称是《拼接地板砖》。见下图:


7.png (13.43 KB, 下载次数: 0)
下载附件
2024-3-31 09:30 上传

下载链接:https://wwi.lanzoup.com/iBdJA1t99fwb

功能增强:可操作一张图,也可以操作一个文件夹中的所有图。1路径不能有中文,2图片正方形最好。
[Python] 纯文本查看 复制代码from PIL import Image
import cv2
import os
def process_image(image_path):
    # 读取图片
    image = cv2.imread(image_path)
    if image is None:
        print(f"Error: Could not read image at {image_path}")
        return None
        # 这里放置您的图片处理代码
    # 加载原图
    original_image = Image.open(image_path)  # 替换为你的图片路径
    # 获取原图的尺寸
    width, height = original_image.size
    # 计算新图的尺寸(2倍宽2倍高)
    new_width = 2 * width
    new_height = 2 * height
    # 创建一个新的空白图像,大小和原图的两倍一样大
    new_image = Image.new('RGB', (new_width, new_height))
    # 将原图粘贴到新图的左上角
    new_image.paste(original_image, (0, 0))
    # 旋转原图90度并粘贴到新图的右上角
    rotated_90 = original_image.rotate(-90)
    new_image.paste(rotated_90, (width, 0))
    # 旋转原图180度并粘贴到新图的右下角
    rotated_180 = original_image.rotate(180)
    new_image.paste(rotated_180, (width, height))
    # 旋转原图270度并粘贴到新图的左下角
    rotated_270 = original_image.rotate(-270)
    new_image.paste(rotated_270, (0, height))
    # 保存新图
    new_image.save(image_path + '.png')  # 替换为你想要保存新图的路径
    print(f"Processed image saved to {image_path + '.png'}")
def process_images_in_folder(folder_path):
    # 确保路径存在
    if not os.path.isdir(folder_path):
        print(f"Error: {folder_path} is not a valid directory.")
        return
        # 遍历文件夹中的所有文件
    for filename in os.listdir(folder_path):
        # 检查文件是否为图片(这里假设图片是jpg格式,您可以根据需要添加更多格式)
        if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.tiff')):
            file_path = os.path.join(folder_path, filename)
            process_image(file_path)
# 示例:处理文件夹中的所有图片
process_images_in_folder('d:/a')
# 示例:处理单个图片
# process_image('d:/a/12.png')

一张原图(d:/a/input.png),绕右下角旋转,生成新的大图(d:/a/output.png)。
[Python] 纯文本查看 复制代码from PIL import Image
# 加载原图  
original_image = Image.open('d:/a/input.png')  # 替换为你的图片路径
# 获取原图的尺寸  
width, height = original_image.size
# 计算新图的尺寸(2倍宽2倍高)  
new_width = 2 * width
new_height = 2 * height
# 创建一个新的空白图像,大小和原图的两倍一样大  
new_image = Image.new('RGB', (new_width, new_height))
# 将原图粘贴到新图的左上角  
new_image.paste(original_image, (0, 0))
# 旋转原图90度并粘贴到新图的右上角  
rotated_90 = original_image.rotate(90)
new_image.paste(rotated_90, (width, 0))
# 旋转原图180度并粘贴到新图的右下角  
rotated_180 = original_image.rotate(180)
new_image.paste(rotated_180, (width, height))
# 旋转原图270度并粘贴到新图的左下角  
rotated_270 = original_image.rotate(270)
new_image.paste(rotated_270, (0, height))
# 保存新图  
new_image.save('d:/a/output.png')  # 替换为你想要保存新图的路径

原图, 新图

xiao31bai   

非常感谢楼主开发的工具,试用了下,发现图片文件名不能有中文,并且图片所在路径文件夹也不能有中文。
要是能再加个分割线(边距)就更好了
xiao31bai   

楼主要想在优化可以参考这个,在加个边线,间距
https://www.52pojie.cn/forum.php?mod=viewthread&tid=1790427
whglaowang888   

地砖拼花?
李亲顾   

还是喜欢成品,谢谢分享
songfc666   

期待作者的成品
xmqr   

谢谢楼主,拿来玩玩
hackerSQL   

感谢分享
zjtzjt   

感谢分享,这个有点意思
laixingcui   

我以为是成品的软件。
您需要登录后才可以回帖 登录 | 立即注册