如何利用Python代码制作过年春联
发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,这篇文章将为大家详细讲解有关如何利用Python代码制作过年春联,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、春联一1.效果展示2.代码展示index.html
千家信息网最后更新 2024年11月28日如何利用Python代码制作过年春联
这篇文章将为大家详细讲解有关如何利用Python代码制作过年春联,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一、春联一
1.效果展示
2.代码展示
index.html
css3春联切换 春联Show
上联:这个需求很简单 下联:怎么实现我不管 横批:明天上线!
style.css
@import url(https://fonts.googleapis.com/css?family=Lato:600);body { display: flex; justify-content: center; align-items: center; height: 100vh; background: #222;}.rotating-text { font-family: Lato, sans-serif; font-weight: 600; font-size: 36px; color: white; transform: translateX(-80px);}.rotating-text p { display: inline-flex; margin: 0; vertical-align: top;}.rotating-text p .word { position: absolute; display: flex; opacity: 0;}.rotating-text p .word .letter { transform-origin: center center 25px;}.rotating-text p .word .letter.out { transform: rotateX(90deg); transition: 0.32s cubic-bezier(0.6, 0, 0.7, 0.2);}.rotating-text p .word .letter.in { transition: 0.38s ease;}.rotating-text p .word .letter.behind { transform: rotateX(-90deg);}.alizarin { color: #e74c3c;}.wisteria { color: #8e44ad;}.peter-river { color: #3498db;}.emerald { color: #2ecc71;}.sun-flower { color: #f1c40f;}
script.js
var words = document.querySelectorAll(".word");words.forEach(function (word) { var letters = word.textContent.split(""); word.textContent = ""; letters.forEach(function (letter) { var span = document.createElement("span"); span.textContent = letter; span.className = "letter"; word.append(span); });});var currentWordIndex = 0;var maxWordIndex = words.length - 1;words[currentWordIndex].style.opacity = "1";var rotateText = function () { var currentWord = words[currentWordIndex]; var nextWord = currentWordIndex === maxWordIndex ? words[0] : words[currentWordIndex + 1]; // rotate out letters of current word Array.from(currentWord.children).forEach(function (letter, i) { setTimeout(function () { letter.className = "letter out"; }, i * 80); }); // reveal and rotate in letters of next word nextWord.style.opacity = "1"; Array.from(nextWord.children).forEach(function (letter, i) { letter.className = "letter behind"; setTimeout(function () { letter.className = "letter in"; }, 340 + i * 80); }); currentWordIndex = currentWordIndex === maxWordIndex ? 0 : currentWordIndex + 1;};rotateText();setInterval(rotateText, 4000);
二、春联二
1.环境准备
当缺少库时会有相应提示 黑窗口执行下方命令+包名即可下载安装
博主此处用的idea 直接Alt+Enter直接下载就成了
idea配置python环境也可以参考此文:Python及PyCharm下载与安装教程
2.效果展示
3.代码
import iofrom PIL import Image#import numpy as npimport requestsdef get_word(ch, quality): """获取单个汉字(字符)的图片 ch - 单个汉字或英文字母(仅支持大写) quality - 单字分辨率,H-640像素,M-480像素,L-320像素 """ fp = io.BytesIO(requests.post(url='http://xufive.sdysit.com/tk', data={'ch': ch}).content) im = Image.open(fp) w, h = im.size if quality == 'M': w, h = int(w * 0.75), int(0.75 * h) elif quality == 'L': w, h = int(w * 0.5), int(0.5 * h) return im.resize((w, h))def get_bg(quality): """获取春联背景的图片""" return get_word('bg', quality)def write_couplets(text, HorV='V', quality='L', out_file=None): """生成春联 text - 春联内容,以空格断行 HorV - H-横排,V-竖排 quality - 单字分辨率,H-640像素,M-480像素,L-320像素 out_file - 输出文件名 """ usize = {'H': (640, 23), 'M': (480, 18), 'L': (320, 12)} bg_im = get_bg(quality) text_list = [list(item) for item in text.split()] rows = len(text_list) cols = max([len(item) for item in text_list]) if HorV == 'V': ow, oh = 40 + rows * usize[quality][0] + (rows - 1) * 10, 40 + cols * usize[quality][0] else: ow, oh = 40 + cols * usize[quality][0], 40 + rows * usize[quality][0] + (rows - 1) * 10 out_im = Image.new('RGBA', (ow, oh), '#f0f0f0') for row in range(rows): if HorV == 'V': row_im = Image.new('RGBA', (usize[quality][0], cols * usize[quality][0]), 'white') offset = (ow - (usize[quality][0] + 10) * (row + 1) - 10, 20) else: row_im = Image.new('RGBA', (cols * usize[quality][0], usize[quality][0]), 'white') offset = (20, 20 + (usize[quality][0] + 10) * row) for col, ch in enumerate(text_list[row]): if HorV == 'V': pos = (0, col * usize[quality][0]) else: pos = (col * usize[quality][0], 0) ch_im = get_word(ch, quality) row_im.paste(bg_im, pos) row_im.paste(ch_im, (pos[0] + usize[quality][1], pos[1] + usize[quality][1]), mask=ch_im) out_im.paste(row_im, offset) if out_file: out_im.convert('RGB').save(out_file) out_im.show()text = '思前想后几行代码筑万载春秋 扶内保外一千精英带五千干将' #对联内容write_couplets(text, HorV='V', quality='M', out_file='春联.jpg') #生成普天同庆.jpg对联图片
关于"如何利用Python代码制作过年春联"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
春联
像素
代码
内容
图片
篇文章
制作
分辨率
单个
单字
对联
效果
更多
环境
汉字
参考
生成
不错
实用
思前想后
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
关于网络安全知识简介
哪些网络安全行为是触犯法律的
互联网信息网络安全公司
江苏网络安全宣传周2019
网络安全从我做起200字
通信网络安全防护定级
网络安全为题的手抄报内容
设备的后端服务器架构
软件开发方法目标
杭州学软件开发工程师
龙科互联网科技有限公司
设计院缺软件开发
网络安全周2020开幕式地点
搭建网络安全性
家具生产erp软件开发
腾讯会议服务器链接异常
数据库中表的数据类型怎么修改
合肥视频软件开发
富士康服务器发货量
厦门美图互联网科技有限公司
赢周刊数据库建立的优势
贵州省网络安全大队长
网络安全工程实训室
网络安全为题的手抄报内容
网络安全专题学习活动
龙科互联网科技有限公司
计算机网络技术的外部环境
雷蛇数据库无法在sql查询
天龙八部荣耀龙战服务器
百日安全竞赛网络安全