您好,登錄后才能下訂單哦!
這篇文章主要講解了“怎么用Python在520俘獲女神芳心”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么用Python在520俘獲女神芳心”吧!
一行代碼畫愛心
這個騷操作不知道誘惑了多少人去學python,其實怎么說,如果真的代碼寫成那個樣子,下班走夜路最好自帶三級頭,不然很容易挨悶棍。代碼如下:
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)]))
效果:
技術是不錯,但是如果你把這個當做禮物送給女朋友,除非你是不想見到明天的太陽了...
今天就要教大家更犀利的騷操作!
美圖秀秀
現在不說妹子的手機有沒有美圖秀秀之類的美化軟件了,連很多爺們兒的手機都有這些軟件你敢信?
美圖秀秀有一個拼圖的功能,你可以手動選擇心形拼圖,然后把你喜歡的圖片一張一張的貼到對應的方框內,最終做出一個心形的圖片...
那么今天,我就教大家使用Python,繪制一個心形的女友照片墻!
心形布局圖
美圖秀秀上,存在了大小圖的分類,我們為了降低難度,都是用等比例的圖片,進行心形繪圖。首先我們需要先畫出來一個心形的圖片,然后按照小格子進行分類。
我拿html配合css簡單做了一個心形的圖,大家先來看看效果。
因為是邊想邊做的格子,所以拿ul標簽一點一點拼出來的,沒有使用js去動態生成...
怕前端大神嘲諷,就不貼代碼了太占內容(文末會隨python代碼一起提供下載路徑...)
這是一個9X9的div排列框體,我們只需要將紅色的方框填充上女友的圖片,即可完成心形照片墻的效果。你說自己沒有女友?沒關系啊,你給心儀的妹子做一個心形照片墻,說不定今天你就有了!當然你也可以為你的基友做一個,我這人很開明,不鼓勵不排斥,哈哈.....
準備圖片
首先你需要整理一些女友的圖片,這個是大前提!介于隱私,所以我從百度上爬了幾十張的圖片,用來作為示例:
這里有人要問了,數了一下上面紅色的方格一共有52個,你只有37張圖片,怎么做?
我們需要引入random模塊,并且使用random.sample將圖片的list進行動態選擇并填充。這樣就解決了大家圖片數量不固定的問題,你可以放幾千張選也可以只放一張!
圖片合成
昨天寫到的python圖片轉素描畫中使用到了pillow庫,今天我們一樣用它就能實現!
def mark_pictures(self): heart_image = Image.new('RGB', (128 * SideLength, 128 * SideLength)) row = col = 0 for side in range(SideLength * SideLength): if images_side_calc(col, row): img = Image.open(random.choice(self.image_list)) img = img.resize((128, 128), Image.ANTIALIAS) else: img = Image.new("RGB", (128, 128), (255, 255, 255)) heart_image.paste(img, (row * 128, col * 128)) col += 1 if col == SideLength: col = 0 row += 1 if row == col == SideLength: break heart_image.save("heart_image.jpg")
我們先創建一個空的畫布,然后規定每張圖片的固定尺寸為128X128,然后我們按照紅框的計算,動態填充圖片或者白色的幕布。最終將圖片合成保存。
至于如何計算心形,除了最后的三角形有規律可循,上面的幾行,只能每行去單獨判斷了images_side_calc方法如下:
def images_side_calc(row, col): if row == 0 and col in [1, 2, 6, 7]: return True elif row == 1 and col not in [3, 4, 5]: return True elif row == 2 and col != 4: return True elif row in [3, 4]: return True elif row >= 5 and (row - 5) < col < (13 - row): return True
最終效果如下:
大家可以看到,由于我只使用了37張圖片,所以會出現一些隨機重復的圖片,大家使用的話,可以多選擇一些照片,效果會更好一些!
打包為exe文件
既然工具寫好了,當然要方便那些沒有python環境的人們使用啊,使用pyinstaller打包工具,無需依賴python環境,雙擊exe輸入圖片存儲地址,皆可完成心形照片墻的繪制:
感謝各位的閱讀,以上就是“怎么用Python在520俘獲女神芳心”的內容了,經過本文的學習后,相信大家對怎么用Python在520俘獲女神芳心這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。