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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

520这天,我突然意识到,她根本配不上我这么聪明的男人!

發布時間:2024/9/15 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 520这天,我突然意识到,她根本配不上我这么聪明的男人! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


網絡情人節


對于網絡情人節(520),程序員是怎么看待它的呢?


不知道大家是否會期待這天的到來,但對于我這個程序猿來說:


  • 從主觀來講,不放假的節日,都不算節日

  • 從客觀來講,由消費帶動的節日,都不是純粹的節日


找這么多理由,其實歸根結底,主要是以為“窮”,窮人過什么節日啊!


IT男的思維


今天隨手翻UC,看到一個關于程序猿520表白的段子。


雖然是17年的老梗,但當時帖子比較火名為“她根本配不上我這么聰明的男人!”


?[段子鏈接]

http://www.sohu.com/a/168270871_99956288


段子是一張很長長長長圖,讓人看得難受


在這個重大節日---520情人節來臨之際,我卻是顯得更加寂寞無聊。看著那張長圖有點不爽(關鍵是朋友圈狗糧吃得有點多),于是.........就有了下面這張動態圖(用Python將其做成一張動態圖,這就是聰明的男人一貫的做法,哈哈哈哈)



接下來讓我們一起來看看聰明的男人,是如何將那張不爽的常常圖做成一張動態圖的?


圖片的拆分與合并


Python的PIL模塊在對圖片處理上簡直方便的不行...


先來說說圖片的拆分吧


先來看看長圖,內容是一共16張對白拼成的段子,其實我們只要把這16張圖按照等高的方式進行裁剪就OK了,so easy!


代碼主要用到了Image.crop(cropBox)的裁剪方式。


至于crop的拆分,點進去函數就能看到相關注釋:

Returns a rectangular region from this image. The box is a
4-tuple defining the left, upper, right, and lower pixel
coordinate. See :ref:coordinate-system.

import?osfrom?PIL?import?Imagedef?split_image(file,?split_times):????path,?filename?=?os.path.split(file)????os.chdir(path)????try:????????os.mkdir('pictures')????except?FileExistsError:????????pass????img?=?Image.open(filename)????width,?height?=?img.size????per_height?=?height?/?split_times????for?pictureNumber?in?range(split_times):????????_cropBox?=?(0,?per_height?*?pictureNumber,?width?*?0.8,?per_height?*?(pictureNumber?+?1))????????picture?=?img.crop(_cropBox)????????picture_name?=?os.path.join(path,?'pictures',?"%d.png"?%?pictureNumber)????????picture.save(picture_name)split_image("C:\\Users\Administrator\Downloads\\520.jpg",?16)
from?PIL?import?Image

def?split_image(file,?split_times):
????path,?filename?=?os.path.split(file)
????os.chdir(path)
????try:
????????os.mkdir('pictures')
????except?FileExistsError:
????????pass
????img?=?Image.open(filename)
????width,?height?=?img.size
????per_height?=?height?/?split_times
????for?pictureNumber?in?range(split_times):
????????_cropBox?=?(0,?per_height?*?pictureNumber,?width?*?0.8,?per_height?*?(pictureNumber?+?1))
????????picture?=?img.crop(_cropBox)
????????picture_name?=?os.path.join(path,?'pictures',?"%d.png"?%?pictureNumber)
????????picture.save(picture_name)

split_image("C:\\Users\Administrator\Downloads\\520.jpg",?16)


代碼片段如上,簡單的處理下邊緣與長度即可。至于width的0.8,主要是因為圖片中萬惡的馬賽克和“騰訊視頻”的字樣,影響我看段子的心情...


結果如下圖:


圖片分隔效果.png


再來看看圖片合并


將16張剪切好的圖片,組合成一個gif的動畫,看起來會比單純的圖片看著高端多了,不是嗎?


之前說到了PIL模塊的強大,我們只需要使用Image的duration關鍵字,就能達到我們的目的。


上代碼看看吧:

import?argparsefrom?PIL?import?Imageimport?osclass?SplitLongPicture:????def?__init__(self):????????self.dirName?=?os.path.split(os.path.abspath(__file__))[0]????????self.ImagePath?=?args.ImagePath????????self.SplitTimes?=?args.SplitTimes????????self.SwitchingTime?=?args.SwitchingTime????????self.Path,?self.File?=?os.path.split(self.ImagePath)????????self.Image?=?self.check_image_file()????????self.pictureList?=?[]????def?check_image_file(self):????????_imageType?=?['.jpg',?'.png',?'.bmp']????????if?not?os.path.isfile(self.ImagePath):????????????raise?IOError("請檢查圖片路徑",?self.ImagePath)????????elif?os.path.splitext(self.File)[1].lower()?not?in?_imageType:????????????raise?TypeError("請選擇系統適配的圖片類型",?_imageType)????????else:????????????return?Image.open(self.ImagePath)????def?split_image(self):????????os.chdir(self.Path)????????try:????????????os.makedirs('pictures')????????except?FileExistsError:????????????pass????????width,?height?=?self.Image.size????????_unitHeight?=?height?/?self.SplitTimes????????for?pictureNumber?in?range(self.SplitTimes):????????????_cropBox?=?(0,?_unitHeight?*?pictureNumber,?width?*?0.8,?_unitHeight?*?(pictureNumber?+?1))????????????_unitPicture?=?self.Image.crop(_cropBox)????????????_pictureName?=?os.path.join(self.Path,?'pictures',?"%d.png"?%?pictureNumber)????????????self.pictureList.append(_pictureName)????????????_unitPicture.save(_pictureName)????def?composite_gif(self):????????images?=?[]????????im?=?Image.open(self.pictureList[0])????????for?file?in?self.pictureList[1:]:????????????images.append(Image.open(file))????????gifName?=?os.path.join(self.Path,?"result.gif")????????im.save(gifName,?save_all=True,?loop=True,?append_images=images,?duration=self.SwitchingTime?*?1000)if?__name__?==?'__main__':????parser?=?argparse.ArgumentParser()????parser.add_argument('-p',?'--ImagePath',?help="所需分隔的圖片途徑")????parser.add_argument('-t',?'--SplitTimes',?type=int,?help="圖片分隔次數")????parser.add_argument('-s',?'--SwitchingTime',?type=float,?help="GIF圖片切換時常長(單位:秒),支持小數")????args?=?parser.parse_args()????if?None?in?args.__dict__.values():????????parser.print_help()????else:????????Main?=?SplitLongPicture()????????Main.split_image()????????Main.composite_gif()
from?PIL?import?Image
import?os

class?SplitLongPicture:
????def?__init__(self):
????????self.dirName?=?os.path.split(os.path.abspath(__file__))[0]
????????self.ImagePath?=?args.ImagePath
????????self.SplitTimes?=?args.SplitTimes
????????self.SwitchingTime?=?args.SwitchingTime
????????self.Path,?self.File?=?os.path.split(self.ImagePath)
????????self.Image?=?self.check_image_file()
????????self.pictureList?=?[]

????def?check_image_file(self):
????????_imageType?=?['.jpg',?'.png',?'.bmp']
????????if?not?os.path.isfile(self.ImagePath):
????????????raise?IOError("請檢查圖片路徑",?self.ImagePath)
????????elif?os.path.splitext(self.File)[1].lower()?not?in?_imageType:
????????????raise?TypeError("請選擇系統適配的圖片類型",?_imageType)
????????else:
????????????return?Image.open(self.ImagePath)

????def?split_image(self):
????????os.chdir(self.Path)
????????try:
????????????os.makedirs('pictures')
????????except?FileExistsError:
????????????pass
????????width,?height?=?self.Image.size
????????_unitHeight?=?height?/?self.SplitTimes
????????for?pictureNumber?in?range(self.SplitTimes):
????????????_cropBox?=?(0,?_unitHeight?*?pictureNumber,?width?*?0.8,?_unitHeight?*?(pictureNumber?+?1))
????????????_unitPicture?=?self.Image.crop(_cropBox)
????????????_pictureName?=?os.path.join(self.Path,?'pictures',?"%d.png"?%?pictureNumber)
????????????self.pictureList.append(_pictureName)
????????????_unitPicture.save(_pictureName)

????def?composite_gif(self):
????????images?=?[]
????????im?=?Image.open(self.pictureList[0])
????????for?file?in?self.pictureList[1:]:
????????????images.append(Image.open(file))
????????gifName?=?os.path.join(self.Path,?"result.gif")
????????im.save(gifName,?save_all=True,?loop=True,?append_images=images,?duration=self.SwitchingTime?*?1000)

if?__name__?==?'__main__':
????parser?=?argparse.ArgumentParser()
????parser.add_argument('-p',?'--ImagePath',?help="所需分隔的圖片途徑")
????parser.add_argument('-t',?'--SplitTimes',?type=int,?help="圖片分隔次數")
????parser.add_argument('-s',?'--SwitchingTime',?type=float,?help="GIF圖片切換時常長(單位:秒),支持小數")
????args?=?parser.parse_args()
????if?None?in?args.__dict__.values():
????????parser.print_help()
????else:
????????Main?=?SplitLongPicture()
????????Main.split_image()
????????Main.composite_gif()


代碼順便復習了一下argparse的相關知識。那么該怎么運行呢?
python D:\SplitLongPicture.py -p C:\Users\Administrator\Downloads\520.jpg -t 16 -s 1.25


result.gif


聽完這位小哥哥說的

終于明白什么叫做注孤身了

真的是“憑自己本事”單的身!

沒毛病啊!


送上視頻

大家好好感受一下這位兄弟的“無奈”


如果你還認為,IT男 = 沉悶無趣死宅男?不不不,你錯了


------------------?End?-------------------

總結

以上是生活随笔為你收集整理的520这天,我突然意识到,她根本配不上我这么聪明的男人!的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 在线观看中文字幕一区二区 | 老头糟蹋新婚少妇系列小说 | 一区二区在线观看免费视频 | 奇米99 | 蜜桃视频一区二区在线观看 | 亚洲欧美日本在线 | av在线播放观看 | 一区二区在线免费观看视频 | av噜噜 | 欧美色图一区 | 欧美日韩一区二区三区四区五区六区 | 免费看的一级片 | 天天综合日日夜夜 | 欧美精品1区2区 | 国产一区二区三区福利 | 国产一区二区内射 | 老妇荒淫牲艳史 | 成人午夜av在线 | 午夜三级在线观看 | 日韩a级一片 | 久爱视频在线观看 | 正在播放一区 | 午夜在线观看免费视频 | av官网在线 | sese久久| 欧美人与禽猛交乱配 | www.av在线免费观看 | 91最新地址永久入口 | 好吊日精品视频 | 日本高清不卡二区 | 日韩一区二区中文字幕 | 女人久久久 | 国产99久久精品 | 亚洲成a人v欧美综合天堂麻豆 | 欧美做受高潮中文字幕 | 成人区人妻精品一区二区不卡视频 | 亚洲综合日韩精品欧美综合区 | 男人天堂影院 | 亚洲精品在线免费观看视频 | 美女扒开屁股让男人桶 | 高潮疯狂过瘾粗话对白 | 日本羞羞网站 | 亚洲免费看片 | 97伦伦午夜电影理伦片 | 中文字幕一区二区在线播放 | 亚洲第一区视频 | 久久91精品国产 | 一区二区三区国产在线观看 | 亚洲欧洲一区二区三区 | 亚洲午夜久久久久久久久久久 | 日本东京热一区二区三区 | 亚洲AV成人无码精品久久盆瓶 | 久久艹久久| 成 人 免费 黄 色 | 在线永久看片免费的视频 | 亚洲天堂男人的天堂 | 一级a性色生活片久久无 | 蜜臀视频在线播放 | 91亚洲视频在线 | 又粗又猛又爽又黄少妇视频网站 | 国产精品6666 | 成年人免费看黄色 | 久久久久久久影院 | www.四虎影视.com| 男生操女生动漫 | 最好看的电影2019中文字幕 | aa视频在线观看 | 人人草人人爱 | 成人午夜精品无码区 | 极品美女开粉嫩精品 | 爱看av在线 | 精品99久久久久成人网站免费 | 中文字幕免费在线看线人动作大片 | 国产一线在线观看 | 在线免费观看视频a | 国内成人综合 | 米奇影音 | 欧美私人影院 | 欧日韩不卡在线视频 | 日本色区| 手机av在线播放 | 日本特级片 | 久久国产精品精品国产 | 亚洲av无码一区东京热久久 | 日韩一区二 | 国产盗摄精品一区二区酒店 | 天天射,天天干 | 亚洲精品国产一区二 | 国产h视频在线 | 超碰97国产 | 国产真实伦对白全集 | 中国在线观看免费视频 | 免费精品视频一区二区三区 | 精品国产乱码久久久久久久 | 久久久久中文字幕亚洲精品 | 国产精品久久国产精品99 | 国产性猛交96 | 91日日| 手机看片久久久 |