最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用python寫一個福字(附完整代碼)

 更新時間:2022年01月23日 17:20:09   作者:上進小菜豬  
大家好,本篇文章主要講的是用python寫一個福字(附完整代碼),感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下

前言:

支付寶 2022 集五?;顒诱介_啟

數據顯示,過去六年累計參與支付寶集五福的人數已經超過了 7 億,每 2 個中國人里就有 1 個曾掃福、集福、送福。

一,掃五?;顒尤绱嘶鸨?,為何不自己利用編程來生成福字!

首先作品奉上:

在這里插入圖片描述

①,導入python庫

import io
from PIL import Image
import requests

②,利用爬蟲,獲取單個漢字

def get_word(ch, quality):
    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_word 的作用為爬取我們需要的漢字模型。
如圖:

在這里插入圖片描述

③,爬取背景底圖

def get_bg(quality):
    return get_word('bg', quality)

④,圖片格式大小,配置函數

def write_couplets(text, HorV='V', quality='L', out_file=None):
    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()

⑤,成品展示

在這里插入圖片描述

二,完整代碼

完整代碼奉上,需要先安裝需要的python庫。

import io
from PIL import Image
import requests
def get_word(ch, quality):
    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):
    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')

三,總結

到此這篇關于用python寫一個福字(附完整代碼)的文章就介紹到這了,更多相關python寫福字內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 解決pyqt中ui編譯成窗體.py中文亂碼的問題

    解決pyqt中ui編譯成窗體.py中文亂碼的問題

    下面小編就為大家?guī)硪黄鉀Qpyqt中ui編譯成窗體.py中文亂碼的問題。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • VS2022+Python3.11實現C++調用python接口

    VS2022+Python3.11實現C++調用python接口

    在C/C++中嵌入Python,可以使用Python提供的強大功能,通過嵌入Python可以替代動態(tài)鏈接庫形式的接口,本文主要介紹了VS2022+Python3.11實現C++調用python接口,感興趣的可以了解一下
    2023-12-12
  • Python繪制七段數碼管實例代碼

    Python繪制七段數碼管實例代碼

    這篇文章主要介紹了Python繪制七段數碼管實例代碼,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • python中讀入二維csv格式的表格方法詳解(以元組/列表形式表示)

    python中讀入二維csv格式的表格方法詳解(以元組/列表形式表示)

    這篇文章主要介紹了python中如何讀入二維csv格式的表格(以元組/列表形式表示),本文通過兩種方法給大家詳細介紹,通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • 九個Python列表生成式高頻面試題匯總

    九個Python列表生成式高頻面試題匯總

    本文為大家整理了九個Python列表生成式的面試題(從簡單到困難排序),可以幫助大家提高列表生成式的理解水平,感興趣的小伙伴可以學習一下
    2022-05-05
  • Django執(zhí)行指定腳本的幾種方法

    Django執(zhí)行指定腳本的幾種方法

    這篇文章主要給大家介紹了關于Django執(zhí)行指定腳本的幾種方法,文中通過實例代碼介紹的非常詳細,對大家學習或者使用Django具有一定的參考學習價值,需要的朋友可以參考下
    2022-02-02
  • Python的文本常量與字符串模板之string庫

    Python的文本常量與字符串模板之string庫

    這篇文章主要介紹了Python的文本常量與字符串模板string庫,文中有非常詳細的代碼示例,對正在學習python的小伙伴們有很好的幫助喲,需要的朋友可以參考下
    2021-05-05
  • Python斷言assert的用法代碼解析

    Python斷言assert的用法代碼解析

    這篇文章主要介紹了Python斷言assert的用法代碼解析,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • PyCharm2018 安裝及破解方法實現步驟

    PyCharm2018 安裝及破解方法實現步驟

    這篇文章主要介紹了PyCharm2018 安裝及破解方法實現步驟,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-09-09
  • python 爬取百度文庫并下載(免費文章限定)

    python 爬取百度文庫并下載(免費文章限定)

    這篇文章主要介紹了python 爬取百度文庫并下載的示例,幫助大家更好的理解和學習python 爬蟲的相關知識,感興趣的朋友可以了解下
    2020-12-12

最新評論

榆树市| 若羌县| 灵山县| 楚雄市| 紫阳县| 东丰县| 德安县| 云和县| 荔波县| 清河县| 荥经县| 宝鸡市| 福建省| 扶风县| 克什克腾旗| 昌黎县| 石泉县| 喀喇| 吴忠市| 平果县| 上饶市| 乃东县| 汽车| 吴桥县| 屏东县| 石台县| 鞍山市| 阳原县| 洞头县| 临汾市| 梅州市| 灵川县| 通化市| 威远县| 攀枝花市| 洪雅县| 南靖县| 夏津县| 尉氏县| 锡林浩特市| 唐海县|