自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python硬核技能,幫你在520俘獲女神芳心

開(kāi)發(fā) 后端
今天是520,可預(yù)期到的是,估計(jì)有很多年輕的情侶們,已經(jīng)為這個(gè)節(jié)日提前準(zhǔn)備好久了吧?爛大街的套路無(wú)非就是送花、吃飯、電影院,看完電影找酒店。作為一個(gè)引爆消費(fèi)的特別日子,程序猿們?nèi)绾芜^(guò)節(jié)呢?

 今天是個(gè)花錢的日子

今天是520,可預(yù)期到的是,估計(jì)有很多年輕的情侶們,已經(jīng)為這個(gè)節(jié)日提前準(zhǔn)備好久了吧?爛大街的套路無(wú)非就是送花、吃飯、電影院,看完電影找酒店。作為一個(gè)引爆消費(fèi)的特別日子,程序猿們?nèi)绾芜^(guò)節(jié)呢?

[[326771]]

 

一行代碼畫愛(ài)心

這個(gè)騷操作不知道誘惑了多少人去學(xué)python,其實(shí)怎么說(shuō),如果真的代碼寫成那個(gè)樣子,下班走夜路最好自帶三級(jí)頭,不然很容易挨悶棍。代碼如下:

 

  1. print('\n'.join([''.join([('LovePython'[(x-y)%10]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' ')for x in range(-30,30)])for y in range(15,-15,-1)])) 

效果:

 

技術(shù)是不錯(cuò),但是如果你把這個(gè)當(dāng)做禮物送給女朋友,除非你是不想見(jiàn)到明天的太陽(yáng)了...

今天就要教大家更犀利的騷操作!

 

美圖秀秀

現(xiàn)在不說(shuō)妹子的手機(jī)有沒(méi)有美圖秀秀之類的美化軟件了,連很多爺們兒的手機(jī)都有這些軟件你敢信?

 

美圖秀秀有一個(gè)拼圖的功能,你可以手動(dòng)選擇心形拼圖,然后把你喜歡的圖片一張一張的貼到對(duì)應(yīng)的方框內(nèi),最終做出一個(gè)心形的圖片...

那么今天,我就教大家使用Python,繪制一個(gè)心形的女友照片墻!

 

心形布局圖

美圖秀秀上,存在了大小圖的分類,我們?yōu)榱私档碗y度,都是用等比例的圖片,進(jìn)行心形繪圖。首先我們需要先畫出來(lái)一個(gè)心形的圖片,然后按照小格子進(jìn)行分類。

我拿html配合css簡(jiǎn)單做了一個(gè)心形的圖,大家先來(lái)看看效果。

 

 

 

 

因?yàn)槭沁呄脒呑龅母褡?,所以拿ul標(biāo)簽一點(diǎn)一點(diǎn)拼出來(lái)的,沒(méi)有使用js去動(dòng)態(tài)生成...

 

 

 

 

怕前端大神嘲諷,就不貼代碼了太占內(nèi)容(文末會(huì)隨python代碼一起提供下載路徑...)

這是一個(gè)9X9的div排列框體,我們只需要將紅色的方框填充上女友的圖片,即可完成心形照片墻的效果。你說(shuō)自己沒(méi)有女友?沒(méi)關(guān)系啊,你給心儀的妹子做一個(gè)心形照片墻,說(shuō)不定今天你就有了!當(dāng)然你也可以為你的基友做一個(gè),我這人很開(kāi)明,不鼓勵(lì)不排斥,哈哈.....

 

準(zhǔn)備圖片

首先你需要整理一些女友的圖片,這個(gè)是大前提!介于隱私,所以我從百度上爬了幾十張的圖片,用來(lái)作為示例:

 

 

 

 

這里有人要問(wèn)了,數(shù)了一下上面紅色的方格一共有52個(gè),你只有37張圖片,怎么做?

我們需要引入random模塊,并且使用random.sample將圖片的list進(jìn)行動(dòng)態(tài)選擇并填充。這樣就解決了大家圖片數(shù)量不固定的問(wèn)題,你可以放幾千張選也可以只放一張!

 

圖片合成

昨天寫到的python圖片轉(zhuǎn)素描畫中使用到了pillow庫(kù),今天我們一樣用它就能實(shí)現(xiàn)!

 

  1. def mark_pictures(self): 
  2.        heart_image = Image.new('RGB', (128 * SideLength, 128 * SideLength)) 
  3.        row = col = 0 
  4.        for side in range(SideLength * SideLength): 
  5.            if images_side_calc(col, row): 
  6.                img = Image.open(random.choice(self.image_list)) 
  7.                img = img.resize((128, 128), Image.ANTIALIAS) 
  8.            else
  9.                img = Image.new("RGB", (128, 128), (255, 255, 255)) 
  10.            heart_image.paste(img, (row * 128, col * 128)) 
  11.            col += 1 
  12.            if col == SideLength: 
  13.                col = 0 
  14.                row += 1 
  15.            if row == col == SideLength: 
  16.                break 
  17.        heart_image.save("heart_image.jpg"

我們先創(chuàng)建一個(gè)空的畫布,然后規(guī)定每張圖片的固定尺寸為128X128,然后我們按照紅框的計(jì)算,動(dòng)態(tài)填充圖片或者白色的幕布。最終將圖片合成保存。

至于如何計(jì)算心形,除了最后的三角形有規(guī)律可循,上面的幾行,只能每行去單獨(dú)判斷了images_side_calc方法如下:

 

  1. def images_side_calc(row, col): 
  2.     if row == 0 and col in [1, 2, 6, 7]: 
  3.         return True 
  4.     elif row == 1 and col not in [3, 4, 5]: 
  5.         return True 
  6.     elif row == 2 and col != 4: 
  7.         return True 
  8.     elif row in [3, 4]: 
  9.         return True 
  10.     elif row >= 5 and (row - 5) < col < (13 - row): 
  11.         return True 

最終效果如下:

 

大家可以看到,由于我只使用了37張圖片,所以會(huì)出現(xiàn)一些隨機(jī)重復(fù)的圖片,大家使用的話,可以多選擇一些照片,效果會(huì)更好一些!

 

打包為exe文件

既然工具寫好了,當(dāng)然要方便那些沒(méi)有python環(huán)境的人們使用啊,使用pyinstaller打包工具,無(wú)需依賴python環(huán)境,雙擊exe輸入圖片存儲(chǔ)地址,皆可完成心形照片墻的繪制:

 

 

OK,今天的內(nèi)容就到這里,希望內(nèi)容對(duì)你有所幫助。

責(zé)任編輯:華軒 來(lái)源: 清風(fēng)Python
相關(guān)推薦

2011-10-28 17:06:32

編程

2012-03-02 15:08:37

微軟Windows 8

2015-05-20 10:58:39

戴爾任意云Any Cloud

2020-03-08 17:23:19

科技女神程序員

2014-11-24 10:50:29

EC營(yíng)客通即時(shí)通訊

2019-11-11 17:42:02

前端開(kāi)發(fā)編程

2015-04-22 09:33:41

2013-07-17 14:22:33

用戶增長(zhǎng)

2016-09-29 12:25:19

AWS獵豹移動(dòng)

2015-07-30 17:23:03

APP

2021-04-19 13:57:12

神經(jīng)網(wǎng)絡(luò)AI算法

2020-04-25 19:15:38

曙光

2018-02-09 15:28:27

開(kāi)發(fā)者語(yǔ)言年齡

2017-11-13 22:22:10

編程碼農(nóng)谷歌

2020-02-12 11:20:10

數(shù)據(jù)科學(xué)數(shù)據(jù)技能

2019-11-07 09:08:19

Python工具雙11

2023-12-10 21:56:29

Pyt hon截圖PyQt

2020-09-02 13:56:03

Python可視化數(shù)據(jù)

2022-03-07 10:29:10

絡(luò)安全人才CIO全棧工程師
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)