如何利用Python代码制作过年春联
发表于:2025-02-19 作者:千家信息网编辑
千家信息网最后更新 2025年02月19日,这篇文章将为大家详细讲解有关如何利用Python代码制作过年春联,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、春联一1.效果展示2.代码展示index.html
千家信息网最后更新 2025年02月19日如何利用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安全错误
数据库的锁怎样保障安全
网络安全教育ppt课件在线
数据库的量级
网络安全法哪些信息未明确
网络技术手段助力信访举报
杭州搜钱网络技术有限公司
徐汇区咨询软件开发销售
淄博在线考试软件开发报价
美国网站服务器
山青院网络安全大赛
软件开发所用到的研发设备
oracel数据库登录不上
数据库buff
网贷 网络安全法
软件开发适合的税率
国家认可的网络安全
公交卡充值卡软件开发
上海软件开发群
深圳市未来网络技术有限公司
趣步app软件开发玩法介绍
数据库的安全要求
上海网络安全绩效标准
产业互联网科技兴农牧企业
生动网络技术
服务器 光驱
软件开发适合的税率
英雄联盟湖南有哪些服务器云主机
运营商解读网络安全法
如何建立数据库中建立视图
南威软件软件开发氛围
关系数据库模式设计