<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          情人節(jié) ,能否表白成功就看這段Python代碼了

          共 2936字,需瀏覽 6分鐘

           ·

          2020-02-14 23:28

          點(diǎn)擊上方Python知識(shí)圈,選擇設(shè)為星標(biāo)

          回復(fù)1024獲取Python資料


          1291fa1721a14937cc6eb12aaf7ef856.webp

          作者@明哥
          公眾號(hào)Python編程時(shí)光


          閱讀文本大概需要 6?分鐘

          2020年,這個(gè)看起來(lái)如此浪漫的年份,你還是一個(gè)人嗎?

          難不成我還能是一條狗?

          18年的時(shí)候,寫(xiě)過(guò)一篇介紹如何使用 Python 來(lái)表白的文章。

          沒(méi)有看過(guò)的,你可以點(diǎn)擊這里查看:你還單身?Python 教你脫單

          提醒你一下,今天就是 2月14日了。什么?還是一條狗呢?

          行吧,那你趕上了,今天的文章,就是為你而寫(xiě)。

          明哥今天來(lái)教你如何使用 Python 來(lái)向心中的女神表白。

          前段時(shí)間,在微博上刷到了一條推薦。內(nèi)容是這樣的

          12df1b15b1dc853cc87c593b3b033818.webp

          出于好奇,我點(diǎn)開(kāi)了,放大再放大,emmm,有點(diǎn)意思吖…

          1f6ce62ac2b67c534955130c2e60d616.webp

          這四個(gè)字,對(duì)于像我這樣靦腆的DS男來(lái)說(shuō),還真不好意思說(shuō),說(shuō)出來(lái),萬(wàn)一被拒絕了咋辦?

          使用套路來(lái)表白,并觀(guān)察對(duì)方的反應(yīng),你大概能清楚對(duì)方是否對(duì)你也有好感,先測(cè)試下自己有幾成的把握再下手或許更穩(wěn)妥。

          今天就教大家一個(gè)這樣的套路:如何使用 Python 來(lái)做出來(lái)這樣的圖,有點(diǎn)浪漫,又有點(diǎn)極客。能不能拿下你女神,就要靠你(命)了。(???? ???)

          首先,你得先找到一張你女神的高清圖片(盡量分辨率高點(diǎn)的吧,效果會(huì)好點(diǎn))。

          這里我以一張高圓圓的圖來(lái)做一下演示,原圖是這樣的(分辨率是:2000*1328)。

          765b8b8faf98ca804a561357d2d03120.webp

          使用我寫(xiě)好的腳本運(yùn)行后,就生成了這樣一張圖,請(qǐng)你點(diǎn)擊,放大再放大。(驚喜?

          c8f2d4f03c399ee94486b3e72e78457a.webp

          然后將這張圖片發(fā)給你的女神,具體話(huà)術(shù)你自己想咯。


          好吧,相比女神來(lái)說(shuō),你可能更在意這是如何實(shí)現(xiàn)的(活該你單身)。

          其實(shí)原理很簡(jiǎn)單,代碼也還不到20 行。

          首先,來(lái)講講原理。

          事實(shí)上,每一張圖片都是由一個(gè)一個(gè)的像素點(diǎn)所組成的。而每個(gè)像素點(diǎn),都有自己的顏色,其顏色可以用一個(gè)數(shù)組來(lái)表示:(a,b,c),其中每位數(shù)的取值范圍都是 0-255。

          比如(0,0,0)代表黑色,(255,255,255)代表白色。

          當(dāng)像素點(diǎn)足夠多的時(shí)候,這張照片就是我們所說(shuō)的高清照片。

          而如果當(dāng)像素點(diǎn)太少,我們的肉眼就能感知到明顯的鋸齒感。

          用 Excel 畫(huà)了個(gè)圖,每一方格代表一個(gè)像素,其中若我的字體的大小設(shè)置 5(非字號(hào)5,而是每個(gè)字占用5個(gè)像素),效果大概就是如下這樣子。

          e0093bb7a67ed8785f62c454dfc4db3f.webp

          我只要每個(gè)像素取出一個(gè)像素值,并使用這個(gè)像素做為該字的顏色即可,在像素量夠多的情況下,從遠(yuǎn)處看,是能看到我們?cè)瓉?lái)圖像的輪廓的。

          有了思路,就可以開(kāi)始我們的代碼。

          首先,使用 pillow.Image讀取圖像,并使用load函數(shù)獲取到每一個(gè)像素值。

          img_raw?=?Image.open(img_path)
          img_array?=?img_raw.load()

          然后新建一張畫(huà)布,并選好你要使用的字體和字體大小。

          img_new?=?Image.new("RGB",?img_raw.size,?(0,?0,?0))
          draw?=?ImageDraw.Draw(img_new)
          font?=?ImageFont.truetype('C:/Windows/fonts/Dengl.ttf',?font_size)

          由于需要不斷循環(huán) “我喜歡你!”,這五個(gè)字符。所以這里可以while循環(huán) yield 來(lái)實(shí)現(xiàn)一個(gè)生成器。

          def?character_generator(text):
          ????while?True:
          ????????for?i?in?range(len(text)):
          ????????????yield?text[i]

          最后,要給這些字加上相應(yīng)的顏色,寫(xiě)入新創(chuàng)建的畫(huà)布中。

          for?y?in?range(0,?img_raw.size[1],?font_size):
          ????for?x?in?range(0,?img_raw.size[0],?font_size):
          ????????draw.text((x,?y),?next(ch_gen),?font=font,?fill=img_array[x,?y],?direction=None)

          最后將成品保存

          img_new.convert('RGB').save("F://gyy_save.jpeg")

          完整代碼如下,供你參考

          from?PIL?import?Image,?ImageDraw,?ImageFont

          font_size?=?7
          text?=?"我喜歡你!"
          img_path?=?"F://gyy.jpeg"

          img_raw?=?Image.open(img_path)
          img_array?=?img_raw.load()

          img_new?=?Image.new("RGB",?img_raw.size,?(0,?0,?0))
          draw?=?ImageDraw.Draw(img_new)
          font?=?ImageFont.truetype('C:/Windows/fonts/Dengl.ttf',?font_size)

          def?character_generator(text):
          ????while?True:
          ????????for?i?in?range(len(text)):
          ????????????yield?text[i]

          ch_gen?=?character_generator(text)

          for?y?in?range(0,?img_raw.size[1],?font_size):
          ????for?x?in?range(0,?img_raw.size[0],?font_size):
          ????????draw.text((x,?y),?next(ch_gen),?font=font,?fill=img_array[x,?y],?direction=None)

          img_new.convert('RGB').save("F://save.jpeg")


          最后再多上幾張效果圖吧(對(duì),我是海賊迷)。
          1.?路飛

          69054b6b73fafc10d4006c2c6027ce24.webp


          2.?索隆

          6d2bc2e4596f1d83c35c61ad65041a86.webp


          3. 山治

          fa9539c6bcf5431e0a7e1586f0b053bd.webp



          2a040c74d7e1db2a49cb75f5ba0109c6.webp

          -----------------------公眾號(hào):Python知識(shí)圈(ID:PythonCircle博客:www.pyzhishiquan.com知乎:Python知識(shí)圈bilibili:菜鳥(niǎo)程序員的日常

          一個(gè)學(xué)習(xí)Python的人,喜歡分享,喜歡搞事情!長(zhǎng)按下圖二維碼關(guān)注,和你一起領(lǐng)悟Python的魅力。


          留言打卡 DAY 02

          今日的留言話(huà)題是:分享下你對(duì)你的對(duì)象或者親人做過(guò)的最浪漫的事情。關(guān)于留言打卡的規(guī)則可以參考今天的第二篇文章??(點(diǎn)擊第二篇文章鏈接查看詳細(xì)打卡規(guī)則),請(qǐng)按照?昵稱(chēng)+天數(shù)(請(qǐng)以自己實(shí)際打卡的天數(shù)為準(zhǔn),如day1 or day2 or day3)+?留言?xún)?nèi)容(不少于15字)的方式留言。

          Python知識(shí)圈公眾號(hào)的交流群已經(jīng)建立,群里可以領(lǐng)取 Python 和人工智能學(xué)習(xí)資料,大家可以一起學(xué)習(xí)交流,效率更高,如果是想發(fā)推文、廣告、砍價(jià)小程序的敬請(qǐng)繞道!一定記得備注「交流學(xué)習(xí)」,我會(huì)盡快通過(guò)好友申請(qǐng)哦!通過(guò)好友后私聊我「學(xué)習(xí)資料」或者「進(jìn)群」都可以。

          掃碼添加,備注:交流學(xué)習(xí)




          往期推薦01

          公眾號(hào)所有文章匯總導(dǎo)航(2-10更新)

          02

          拒絕低效!Python教你爬蟲(chóng)公眾號(hào)文章和鏈接

          03

          一行代碼簡(jiǎn)化Python異常信息


          分享給你的朋友

          點(diǎn)個(gè)在看

          f80d41e6b5d2ed53896204b490ace405.webp

          瀏覽 56
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  黄片艹逼 | 国产视频第二页 | 狼友自拍| 韩国日逼片 | 人妻夜夜爽天天爽麻豆三区视频 |