本帖最后由 zjg121 于 2024-3-31 21:06 编辑
打包成exe的源文件。
a.rar
(1.51 KB, 下载次数: 11)
成品出来啦!名称是《拼接地板砖》。见下图:
下载链接: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') # 替换为你想要保存新图的路径
|