日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python如何把一张图像的所有像素点的值都显示出来_情人节,教你用 Python 向女神表白...

發布時間:2025/3/12 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python如何把一张图像的所有像素点的值都显示出来_情人节,教你用 Python 向女神表白... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方 “AirPython”,選擇 “加為星標”

第一時間關注 Python 技術干貨!

2020年,這個看起來如此浪漫的年份,你還是一個人嗎?

難不成我還能是一條狗?

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

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

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

前段時間,在微博上刷到了一條推薦。內容是這樣的

出于好奇,我點開了,放大再放大,emmm,有點意思吖…

這四個字,對于像我這樣靦腆的 DS 男來說,還真不好意思說,說出來,萬一被拒絕了咋辦?

使用套路來表白,并觀察對方的反應,你大概能清楚對方是否對你也有好感,先測試下自己有幾成的把握再下手或許更穩妥。

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

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

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

使用我寫好的腳本運行后,就生成了這樣一張圖,請你點擊,放大再放大。(驚喜?

然后將這張圖片發給你的女神,具體話術你自己想咯。


好吧,相比女神來說,你可能更在意這是如何實現的。

其實原理很簡單,代碼也還不到 20 行。

首先,來講講原理。

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

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

當像素點足夠多的時候,這張照片就是我們所說的高清照片。

而如果當像素點太少,我們的肉眼就能感知到明顯的鋸齒感。

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

我只要每個像素取出一個像素值,并使用這個像素做為該字的顏色即可,在像素量夠多的情況下,從遠處看,是能看到我們原來圖像的輪廓的。

有了思路,就可以開始我們的代碼。

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

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)

由于需要不斷循環 “我喜歡你!”,這五個字符。所以這里可以while循環 yield 來實現一個生成器。

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

最后,要給這些字加上相應的顏色,寫入新創建的畫布中。

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")
最后再多上幾張效果圖吧(對,我是海賊迷)。1.?路飛

2.?索隆

3. 山治

推薦閱讀如何用 Python 自動化在工作中摸魚這款黑科技,不會代碼也能玩自動化,高效摸魚自動化篇 | 再也不用擔心老人們用智能機了THANDKS- End - 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的python如何把一张图像的所有像素点的值都显示出来_情人节,教你用 Python 向女神表白...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。