前言:
日常中,我们经常将文档等一些不久就要用到的文件放在桌面上,久而久之,文件越来越多,桌面杂乱无章,最重要的是难找难看!这时候,这款高效桌面壁纸或许可以拯救你!
上图
井然有序,有条有理!
用Python实现
这里用到的库:
from PIL import Image,ImageDraw,ImageFont
from win32api import GetSystemMetrics
PIL:用于生成图片
GetSystemMetrics:获取当前电脑的分辨率
流程:
- 利用
Image.new
根据桌面分辨率生成一张底图 - 再根据需要划分的工作区来生成方格图
- 最后让方格图贴到生成的底图上
代码
参数:
#获取屏幕分辨率 建议1920,1080
back_width_height=(GetSystemMetrics(0),GetSystemMetrics(1))
#划分个数
x,y=2,2
#划分方格的长宽
target_width_height=(back_width_height[0]//x,back_width_height[1]//y)
#每个方格的颜色 颜色库https://www.sioe.cn/yingyong/yanse-rgb-16/
target_color=[(255,105,180),(0,191,255),(0,250,154),(255,215,0)]
#字体的位置 右下角放置字体target_width_height[0]-160,target_width_height[1]-80
font_position=(10,10)
#工作区的标题
text=['开发','应用','未做','正在做']
#中文字体(路径,大小)
fontSetting=('C:\\Windows\\Fonts\\simhei.ttf',80)
若想要右下角放置字体,可以用target_width_height减去字体长度高度(一个字默认80)
获取所有方格坐标
def areaPoint(x,y):
lists=[]
for i in range(0,back_width_height[0],back_width_height[0]//x):
for j in range(0,back_width_height[1],back_width_height[1]//y):
lists.append((i,j))
return lists
生成:
def createBackGround(back_width_height,target_width_height,target_color):
backGround = Image.new('RGB', back_width_height,(255,255,255))
xy=areaPoint(x,y)#定义每个方格所贴的位置
for i in range(x*y):
newimage=Image.new('RGB',target_width_height,target_color[i])
draw = ImageDraw.Draw(newimage)
ft = ImageFont.truetype(fontSetting[0], fontSetting[1])
draw.text(font_position,text[i], fill=(255,255,255),font=ft)
backGround.paste(newimage,xy[i])
backGround.save('./out.jpg', quality=100)
print("生成成功!")
代码:
from PIL import Image,ImageDraw,ImageFont
from win32api import GetSystemMetrics
def createBackGround(back_width_height,target_width_height,target_color):
backGround = Image.new('RGB', back_width_height,(255,255,255))
xy=areaPoint(x,y)#定义每个方格所贴的位置
for i in range(x*y):
newimage=Image.new('RGB',target_width_height,target_color[i])
draw = ImageDraw.Draw(newimage)
ft = ImageFont.truetype(fontSetting[0], fontSetting[1])
draw.text(font_position,text[i], fill=(255,255,255),font=ft)
backGround.paste(newimage,xy[i])
backGround.save('./out23.jpg', quality=100)
def areaPoint(x,y):
lists=[]#生成每个方格的座标
for i in range(0,back_width_height[0],back_width_height[0]//x):
for j in range(0,back_width_height[1],back_width_height[1]//y):
lists.append((i,j))
return lists
if __name__ == "__main__":
#获取屏幕分辨率 建议1920,1080
back_width_height=(GetSystemMetrics(0),GetSystemMetrics(1))
#划分个数
x,y=2,2
#划分方格的长宽
target_width_height=(back_width_height[0]//x,back_width_height[1]//y)
#每个方格的颜色
target_color=[(255,105,180),(0,191,255),(0,250,154),(255,215,0)]
#字体的位置 右下角放置字体target_width_height[0]-160,target_width_height[1]-80
font_position=(10,10)
#font_point=(20,20)
#工作区的标题
text=['开发','应用','未做','正在做']
#中文字体(路径,大小)
fontSetting=('C:\\Windows\\Fonts\\simhei.ttf',80)
createBackGround(back_width_height,target_width_height,target_color)
运行后即可在当前文件夹下找到
当然,你也可以随心所欲的布局
x,y=3,1:
其他:
DIY
调整字体的大小,颜色,样式,位置
调整方格的大小,位置,颜色
随机粘贴方格位置
但是要注意target_color与text与x*y数量始终保持一致
世界上只有两种物质:高效率和低效率;世界上只有两种人:高效率的人和低效率的人。
相信可以找出一个适合自己的效率桌面
希望这个桌面壁纸让你可以提升更多效率来完成更多task
加油