【教学类-82-02】20241213涂色手表制作2.0(表盘、表带3.12CM)

背景需求:

基于1.0版手表表盘制作中的问题——幼儿一只手不能自行佩戴、幼儿佩戴时抽拉表带容易撕裂表带或卡扣。

【教学类-82-01】20241209涂色手表制作1.0(表盘、表带)-优快云博客文章浏览阅读771次,点赞26次,收藏22次。【教学类-82-01】20241209涂色手表制作1.0https://blog.youkuaiyun.com/reasonsummer/article/details/144250493

由此产生三个手表调整思路

1、把圆环位置放到表带底部

2、雌雄扣位置不变(内1,点3)因为调整改过,所以参数变化,显示是正圆形

3、表带顶部配上一个表盘,也就是表带和表盘在一张纸上,不用黏贴,同时表盘上有数字。

4、不要设计环扣(不容易对称剪,同时纸片容易拉断)

5、希望手表上的表盘圆形和雌雄扣的三个圆点保持正圆形,不是原来的拉长后变形的椭圆形。

手动调试,把原图720*1280的1280长度扩大,反复测试,发现高度达到1510时,复制3倍长度正好凑满单元格的长度

由此代码设计思路流程是

1、读取原图的720*1280,重新设置高度为1.18倍等于720*1510、放到“变长”文件夹

2、把拉长的图片复制3份,去掉左右0.5CM的白色部分,做表带,然后在上面画表盘和三个点

生成的图片放在“02手表环”,每张尺寸720*4530

代码展示

# 3.89*2*5条
'''
表带3.12CM9条
星火讯飞、阿夏
2024年12月09日
'''


import os,math,time
from PIL import Image, ImageDraw
from PIL import Image

import shutil
from docx import Document
from docx.shared import Cm
from PIL import Image
from PyPDF2 import PdfFileMerger, PdfFileReader

from PIL import Image, ImageDraw, ImageFont
import os,random

print('----1、房屋切割成左右对称两片------------')

path=r'D:\20241204手表表皮表盘'
folder_path2=path+r'\01表带\01原图'
t=9

import os
from PIL import Image

folder_path=path +r'\01表带\01变长'
os.makedirs(folder_path,exist_ok=True)

# 遍历文件夹中的所有文件
for filename in os.listdir(folder_path2):
    # 检查文件是否为图片
    if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif')):
        # 拼接完整的文件路径
        file_path = os.path.join(folder_path2, filename)
        
        # 打开图片
        with Image.open(file_path) as img:
            # 获取图片的宽度和高度
            width, height = img.size
            print(f"{filename}:宽 = {width}, 长 = {height}")

             # 计算新的高度(原高度的一半)
            n_height = int(height*1.18)
            print(f"{filename}:宽 = {width}, 长 = {n_height}")            
            # 003.png:宽 = 720, 长 = 1280
            # 调整图片大小
            resized_img = img.resize((width, n_height))
            
            # 保存调整后的图片
            new_file_path = os.path.join(folder_path, f"{filename}")
            resized_img.save(new_file_path)
            print(f"已保存调整后的图片: {new_file_path}")
            # 720, 1280
            # 003.png:宽 = 720, 长 = 1510
# # 设置文件夹路径

output_folder = path+r'\01表带\02手表环'
if not os.path.exists(output_folder):
    os.makedirs(output_folder)

# 遍历文件夹中的所有文件
for filename in os.listdir(folder_path):
    # 检查文件是否为图片
    if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif')):
        # 拼接完整的文件路径
        file_path = os.path.join(folder_path, filename)
        
        # 打开图片
        with Image.open(file_path) as img:
            # 获取图片的宽度和高度
            original_width, original_height = img.size
            
            # 创建一个新的空白图片,宽度不变,高度为原图的两倍
            new_width = original_width
            new_height = original_height * 3
            new_img = Image.new('RGB', (new_width, new_height), color='white')
            
            # 在0,0和0,高度的一半位置插入两次原图
            top_position = (0, 0)
            middle_position = (0,  original_height)
            three_position = (0,  original_height*2)
            
            new_img.paste(img, top_position)
            new_img.paste(img, middle_position)
            new_img.paste(img, three_position)

             # 创建一个绘图对象
            draw = ImageDraw.Draw(new_img)

             # 画线    
            # 设置虚线样式,每段2磅黑线和2磅空白交替出现
            
            # dash_length = 40
            # space_length = 30

            # # 获取top和bottom的值
            # tt=[]
            # tt.append(top)
            # tt.append(bottom)

            # # 定义起始点和结束点            
            # for hh in tt:
            #     start_point = (original_width/6,top)
            #     end_point = (original_width/6*5,top)
            #     start_point = (original_width/6,hh)
            #     end_point = (original_width/6*5,hh)

            #     # 计算总长度
            #     total_length = end_point[0] - start_point[0]
            #  
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿夏reasonsummer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值