【Ubuntu】自动更换添加倒计时的壁纸

目录

环境

主要功能介绍

说明

代码实现

自动启动

附图

参考


环境

Ubuntu20.04.2 LTS

python3

主要功能介绍

取一张/多张基础图片,每天抽取一句诗词添加到图片的左下角,并在屏幕中间添加某天的倒计时。

说明

图片和字体文件本文不提供。后附效果图。

代码实现

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time  : 2021/5/5 下午9:10
# @Author: kwzc4
# @File  : 动态壁纸.py
'''
1.读文字
2.读图片并合成
3.合成
4.保存设置
注:文字,位置,颜色根据个人喜好自行修改
'''import cv2
from PIL import ImageFont, ImageDraw, Image
import numpy as np
import linecache
import datetime
import osimg_path = "*.jpg你的基础背景文件"
img = Image.open(img_path)
this_path = "****你的文件保存地址"
word_path = "txt文件,我的是毛主席诗词"
font_path = "*.ttf你喜欢的字体文件地址"
font_size = 60
font_color= [255,255,255]
word_arr=[]
loc=[120,250]#倒计时
flag_data = datetime.datetime.strptime('2022-4-15', '%Y-%m-%d')
today=datetime.datetime.today()
time_Countdown = (flag_data - today).days#更改诗句格式
def get_word(word_path,num):lines_len = len(open(word_path,'r').readlines())line_word = linecache.getline(word_path, num%lines_len+1).strip()word_arr=[[]]i=0max_len  = 0for voca in line_word :if voca=="—" :breakif voca in[",","。",":","!",";"]:if max_len<len(word_arr[i]):max_len = len(word_arr[i])word_arr.append([])i+=1continueword_arr[i].append(voca)del word_arr[-1]#补全for i in word_arr:if len(i)!=max_len:i+=['   ']*(max_len-len(i))word_arr = np.array(word_arr)new_word_arr = np.array(word_arr)hang = word_arr.shape[0]lie  = word_arr.shape[1] for i in range(hang):new_word_arr[i] = word_arr[hang-i-1]new_word_arr = new_word_arr.Tword_arr =[]for i in range(lie):temp=""for word in new_word_arr[i]:temp += wordword_arr.append(temp) return word_arr#读图片并合成
def load_image(img_path,word_arr,loc,font_path,font_size,font_color):#imgimg = cv2.imread(img_path)#font 相关设置fontpath = font_pathfont = ImageFont.truetype(fontpath, font_size)img_pil = Image.fromarray(img)draw = ImageDraw.Draw(img_pil)#添加文字for i in range(len(word_arr)):draw.text((loc[0], loc[1]+int(font_size*i*1.25)),  word_arr[i] , font = font, fill = (font_color[0],font_color[1], font_color[2]))return np.array(img_pil)#加诗句
word_arr = get_word(word_path,time_Countdown)
loc=[60,img.size[1]-int(len(word_arr)*1.3*font_size+20)]
bk_img = load_image(img_path,word_arr,loc,font_path,font_size,font_color)
cv2.imwrite("temp.jpg",bk_img)#保存图片#加倒计时
img_path = "temp.jpg"
loc=[int(img.size[0]/2),int(img.size[1]/2-4*font_size)]
word_arr=["倒计时"+str(time_Countdown)+"天","列计划表!","今天的小目标是什么?","效率远比时长重要!"]#随便写了几句话,自行修改
bk_img = load_image(img_path,word_arr,loc,font_path,font_size,font_color)#保存,设置背景
#cv2.imshow("add_text",bk_img)
#cv2.waitKey()os.system("rm temp.jpg")file_name = this_path+str(today.strftime('%Y_%m_%d'))+".jpg"
cv2.imwrite(file_name,bk_img)#保存图片
os.system("gsettings set org.gnome.desktop.background picture-uri "+file_name)

自动启动

cd /etc/init.dsudo vim /etc/init.d/mystart.sh#在文件末尾添加命令
nohup python3 -u /home/你的地址/动态壁纸.py
#保存退出sudo chmod 777 /etc/init.d/mystart.shsudo update-rc.d mystart.sh defaults 90#至此结束

附图

(颜值即正义,配色和位置后期再进行调整)

参考

https://blog.csdn.net/tuzixini/article/details/95616333

https://blog.csdn.net/waiwai3/article/details/79091118

https://blog.csdn.net/u013401853/article/details/73751717

【Ubuntu】自动更换添加倒计时的壁纸相关推荐

  1. windows聚焦壁纸不更新_Win10无法自动更换聚焦锁屏壁纸怎么办?

    Win10无法自动更换聚焦锁屏壁纸怎么办?在Win10系统的默认情况下,锁屏界面设置的是Windows聚焦,如果我们使用微软账户登录,系统会自动更换锁屏壁纸,让我们每天都能看到不一样的锁屏壁纸.然而有 ...

  2. 关于自动更换xp桌面的壁纸。

    最近有点烦恼,闲着闲着,我就想为啥我看到同样的桌面壁纸,每次看到不同的桌面壁纸,肯定可以给自己的新意,使得自己开始新的一天,对于我们从事电脑的人员,新的开始就是从见到最新的桌面. 于是有了下面的想法. ...

  3. Ubuntu自动更换壁纸

    个人博客:http://www.chenjianqu.com/ 原文链接:http://www.chenjianqu.com/show-112.html 现在Ubuntu16.04是我的主力系统,因此 ...

  4. java 自动下载自动搜索_必应美图下载 - 自动更换批量下载的壁纸

    必应( Bing )搜索 每天 都会在 搜索界面 内更换 非常好看 的 背景图片,因此有不少网友将这些 图片 下载下来设置成 桌面壁纸 使用.同时,也有不少 站长 在自己的 网站 上通过 接口 将自己 ...

  5. 【Python爬虫案例】批量采集网站壁纸,实现自动更换桌面壁纸

    前言 美照天天换,才不会腻 不知道你们是不是这样,我的手机壁纸电脑壁纸,隔三岔五就喜欢换,看久了 我就腻了,索性就用python把这个网站的壁纸都采集下来,顺便再让电脑自动更换我的桌面壁纸 ~ 一篇文 ...

  6. windows无法访问指定设备_微软为安卓设备推出必应壁纸应用 可在每天清晨自动更换最新壁纸...

    此前微软已经为Windows 10系统推出官方版的必应壁纸应用,安装后每日都可以自动更换必应提供的全新壁纸. 必应每日提供的壁纸也都是精挑细选的 ,这些壁纸会在 必应搜索.Microsoft Edge ...

  7. ubuntu桌面_Ubuntu桌面自动更换bing每日壁纸

    虽然我有3块显示屏幕,一般很少返回桌面,但还是掩不住ubuntu桌面单调的事实.Windows store有一个dynamic theme应用,可以自动抓取bing每日壁纸,并设置为桌面壁纸.简单搜了 ...

  8. linux系统下如何修改开机图片,Ubuntu Kylin下修改登录背景,用户头像,开机动画及自动更换壁纸...

    以下操作系统平台是Ubuntu Kylin 16.04,使用Ubuntu的朋友可参考. 一.修改默认登录背景图片 Ubuntu Kylin 16.04 LTS 默认登录背景图片是存放在 /usr/sh ...

  9. 让 Ubuntu 桌面自动更换壁纸

    让 Ubuntu 桌面自动更换壁纸 Posted on 2016-07-10 22:56 京山游侠 阅读(4256) 评论(10) 编辑 收藏 引言 让我们的桌面系统自动更换壁纸是一个很常见的美化需求 ...

最新文章

  1. matlab怎么根据波宽度去波,使用Matlab图像处理(三)——图像滤波原理
  2. Google VR全景图片与视频功能开发详解
  3. qgraphicsview鼠标移动图片_如何在中间鼠标的QGraphicsView中滚动QGraphicsScene?
  4. 一、mysql使用入门
  5. iOS开发之 [NSNull length]:unrecognized selector sent
  6. 实体框架 5.0:空间数据类型、性能增强、数据库提升
  7. linux 安装 vmvare
  8. React15.6.0实现Modal弹层组件
  9. 王者荣耀显示聊天服务器异常,王者荣耀功能存在异常暂时关闭怎么回事 解决办法...
  10. dtreeviz 画树模型
  11. 电商购物核心架构演进:谁说架构思路会过时?
  12. webpack如何全局引入jquery和echarts?
  13. 电脑芯片和服务器芯片,王思聪的服务器和我们的电脑有什么区别?
  14. tk域名管理后台_Freenom免费域名.TK、.CF、.ML、.GA注册及使用方法
  15. Docker——网络
  16. 面向对象:期待在正确的时间,遇见更好的你
  17. P2178 [NOI2015] 品酒大会(并查集+后缀数组)
  18. 浅谈区块链技术对未来行业的影响
  19. 学习java可以做什么?学习java有什么用?
  20. 互动抽奖背后的随机性与算法实现

热门文章

  1. ofo html源码,ofo.html
  2. **学习游戏特效的第14天**
  3. 采用工具软件不同 计算机,采用工具软件不同,计算机动画文件的存储格式也就不同。以下几种文件的格式那一种不是计算机动画格式(??)...
  4. matlab三相异步电动机,三相异步电动机仿真
  5. HR教你面试时怎么谈出高工资
  6. 测试之巅?自动化测试
  7. 无界,wujie的使用
  8. k8s问题及解决方法
  9. 365天英语口语学习_08,饮料
  10. 【设计模式】常用9种设计模式详解