导语

(本文是年前写的,2333~过年玩嗨了给大家补发几篇关于新年的文章叭 没有表情.jpg)

过年的时候,家家户户都会给门上贴春联,春联上写着吉祥的字词,希望它能带来喜气与福

气,让新的一年红红火火。

今天小编就顺应潮流,给大家写一款简单的自动生成春联小源码送给大家!希望大家喜欢????????

【春联生成器】”春联载文明,年味意更浓“春联红了 、小编给大家拜年啦_竖排

正文

一、小简介

贴春联的习俗与禁忌

左右联勿贴错

贴春联时,很多人都会把上下联的位置贴错。正确的贴法是:面对大门或壁柱,右边贴上联,左边贴下联。之所以这样贴,是因为古时人们书写都是由右到左,对联也是如此,要从右向左念。

而区分上下联的方法,关键就在于对联最后一个字。对联的格律规定,上联最后一个字必须是仄声字结尾,就是普通话的三声、四声;而下联则必须是平声字结尾,是普通话的一声、二声。

勿在旧联上贴

民间有一种传说,春联是天上的神仙,自贴上春联的那刻起,神仙就会降临这户人家,当撕破春联时,神仙就功德圆满,回天庭去向玉帝禀告每家情况。

因此,最好不要在旧春联上贴新春联,要将旧春联撕破,才能让旧的天神飞升,新的天神来临。这也代表了除旧迎新,那么,最好就是在辰时去贴春联,也就是早晨7点到9点之间。


单数联才吉利

中国人一般讲究好事成双,但春联要记得贴单数字的。在风水中,单数为阳,偶数为阴,如果贴的对联,订上面字数为偶数的话,容易招致阴气。所以,要贴单数字的对联,单数才象征着吉祥。

勿用不吉利字

春联讲究工整押韵,寓意吉祥。如果你打算自己写春联,那就可以个性化一些,不用太过拘泥。但要注意的是,请勿在对联中写“死、亡、灭”这样的字,同音字最好也不要出现。

还有,门上不要贴单字“春”,在古代,只有花楼会在门口单贴“春”字。最后,贴春联时,要贴的越牢越好,春节过了也不要将它揭下来,最好能够保持一年。

福字的贴法??

一到过年,家家户户都会贴福字,有很多人喜欢将福字倒着贴,认为这样代表着“福到了”,但实际上,这是错误的做法。

在家中,只有两个地方可以倒着贴福,一个是米缸,另一个是衣柜。因为,它们是存放食物和衣物的地方,倒贴福字,表示福气会一直来到家里,来年衣食无忧。

而其他地方,是不能倒着贴福字的,尤其是大门。要知道,大门是家里的纳气口,也是出入必经之地,在大门上贴的福,必须要郑重不阿,因此,一定要正着贴福,否则就有福气颠倒之意,会让家中运势下滑。

并且,除了贴福字的正反之外,福字的位置也是有讲究的,它最适合贴在大门、客厅、卧室中。


贴大门,寓意福进家门,生活越来越红火。贴客厅,寓意团圆聚福,家庭和睦,家运昌隆。贴卧室,寓意抬头见福,好运连连,喜气不断。

另外,根据2022年九宫飞星风水,把福字贴在家里的东北方、正南方、正东方,也是非常好的。


贴在东北方,生旺财星,让你在2022年荷包满满。贴在正南方,增加喜气,有助于夫妻感情和睦,单身者早日脱单。贴在正东方,减弱三碧禄存星带来的危害,让你2022年顺顺利利。

所以,大家就可以根据上面所说的,来贴福字,既增添了年味,又能助旺家中运势,实在是一举两得。

嘻嘻 其实小编也不懂 给大家写小程序的时候百度滴 给大家普及一下小知识啦~

二、代码展示

import io
from PIL import Image
import numpy as np


def 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()


text1 = '千载难逢新世纪 万民谱写虎春秋'
text2 = '虎虎生威'
write_couplets(text1, HorV='V', quality='M', out_file='上下批.jpg')
write_couplets(text2, HorV='H', quality='M', out_file='横批.jpg')

三、效果展示——

1)横批:虎虎生威   上下批:千载难逢新世纪 万民谱写虎春秋。

【春联生成器】”春联载文明,年味意更浓“春联红了 、小编给大家拜年啦_竖排_02


【春联生成器】”春联载文明,年味意更浓“春联红了 、小编给大家拜年啦_自动生成_03

2) 横批:一元复始 上下批: 事事都如意 虎虎有生气。


【春联生成器】”春联载文明,年味意更浓“春联红了 、小编给大家拜年啦_百度_04

【春联生成器】”春联载文明,年味意更浓“春联红了 、小编给大家拜年啦_自动生成_05

总结

好啦!嘻嘻 大家在家贴春联的时候有按照小编百度的方法贴对了没?快去检查检查吧!哈哈哈

本次文章就写到这里结束了呢,喜欢的点点关注的啦~

完整的素材、安装环境、源码等看文末即可啦!


【春联生成器】”春联载文明,年味意更浓“春联红了 、小编给大家拜年啦_百度_06