1 簡述
? ? ?python語言生態(tài)中有很多方便使用的庫,使用這些庫可以方便的處理一些工作膝晾,或做一些有趣的事情洪己。PIL庫是python語言中處理圖片使用比較多的庫洽故,可以對圖片進行旋轉、摳圖笆凌、復制粘貼圣猎、顏色變幻等。這篇文章分享的是使用PIL庫將gif動態(tài)圖轉為各種特殊字符拼成的動態(tài)圖乞而,它的效果如下:
2 原理
? ? ? ?將動圖轉為特殊符號組成的動圖原理就是對組成gif動圖的每一幀進行轉換送悔,每一幀都轉為有特殊字符組成的圖片芥备,然后再將每一幀圖組合成動圖荚板。對每一幀轉為特殊字符組成的圖片需要分析每一個像素值,因為彩色圖的像素值是由RGB三原色組成的一個元祖咽扇,但最終目的圖是黑白色的屋灌,所以先將彩色圖轉為黑白圖洁段,黑白圖的每一個像素值是0-255的一個值,0是純黑色共郭,255是純白色祠丝,這樣就可以得到每一個像素的灰度值(專業(yè)術語,就是0-255中的一個值)除嘹,再根據(jù)這個灰度值找到對應的特殊字符写半,然后將這個特殊字符畫到另一張相同長寬的白底圖片的相應坐標位置上。
3 實現(xiàn)
? ? ? ?實現(xiàn)包括兩大步驟尉咕,第一步驟是對每一幀轉為特殊字符圖片叠蝇;第二大步驟是對gif動圖循環(huán)取每一幀,將每一幀圖片傳給第一步驟年缎,讓其處理悔捶。
1、處理每一幀圖片
2晦款、獲取動態(tài)圖的每一幀圖片
處理完每一幀圖片后會將其保存到本地磁盤中炎功,然后再對每一幀圖片進行組裝生成動態(tài)gif圖。
3缓溅、生成動態(tài)圖
? ? ? ?最終效果圖就是剛開始的那張由密密麻麻特殊字符組成的動圖蛇损,詳細的設計步驟還得從代碼里面解讀,熟悉編程的朋友一看就能明白其中的意思,畢竟python語言簡單明了淤齐。