python轉(zhuǎn)化gif動態(tài)圖為像素圖

1 簡述

? ? ?python語言生態(tài)中有很多方便使用的庫,使用這些庫可以方便的處理一些工作,或做一些有趣的事情。PIL庫是python語言中處理圖片使用比較多的庫,可以對圖片進行旋轉(zhuǎn)、摳圖、復(fù)制粘貼、顏色變幻等。這篇文章分享的是使用PIL庫將gif動態(tài)圖轉(zhuǎn)為各種特殊字符拼成的動態(tài)圖,它的效果如下:

原動態(tài)圖
轉(zhuǎn)換后的動圖

2 原理

? ? ? ?將動圖轉(zhuǎn)為特殊符號組成的動圖原理就是對組成gif動圖的每一幀進行轉(zhuǎn)換,每一幀都轉(zhuǎn)為有特殊字符組成的圖片,然后再將每一幀圖組合成動圖。對每一幀轉(zhuǎn)為特殊字符組成的圖片需要分析每一個像素值,因為彩色圖的像素值是由RGB三原色組成的一個元祖,但最終目的圖是黑白色的,所以先將彩色圖轉(zhuǎn)為黑白圖,黑白圖的每一個像素值是0-255的一個值,0是純黑色,255是純白色,這樣就可以得到每一個像素的灰度值(專業(yè)術(shù)語,就是0-255中的一個值),再根據(jù)這個灰度值找到對應(yīng)的特殊字符,然后將這個特殊字符畫到另一張相同長寬的白底圖片的相應(yīng)坐標位置上。

3 實現(xiàn)

? ? ? ?實現(xiàn)包括兩大步驟,第一步驟是對每一幀轉(zhuǎn)為特殊字符圖片;第二大步驟是對gif動圖循環(huán)取每一幀,將每一幀圖片傳給第一步驟,讓其處理。

1、處理每一幀圖片

2、獲取動態(tài)圖的每一幀圖片

處理完每一幀圖片后會將其保存到本地磁盤中,然后再對每一幀圖片進行組裝生成動態(tài)gif圖。

3、生成動態(tài)圖

? ? ? ?最終效果圖就是剛開始的那張由密密麻麻特殊字符組成的動圖,詳細的設(shè)計步驟還得從代碼里面解讀,熟悉編程的朋友一看就能明白其中的意思,畢竟python語言簡單明了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,663評論 1 32
  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,205評論 3 119
  • 家裝e站天津站119平米三居室美式風(fēng)格 。美式風(fēng)格現(xiàn)在有越來越多得人喜愛,今天小編帶給大家一個高顏值,有氣質(zhì)的美式...
    JZ子龍閱讀 265評論 0 0
  • 我是日記星球275號星寶寶,我正在參加日記星球21天蛻變之旅,這是我的第51篇原創(chuàng)筆記。 曾經(jīng)夢想,遠離成長的一切...
    橞在祺中閱讀 325評論 0 0
  • 現(xiàn)在的孩子們都很“忙碌”,白天要上幼兒園,晚上和周末很多都要上各種的課外班。和自己的爸爸媽媽能夠一起好好聊天的機會...
    美麗人生MELISSA閱讀 292評論 0 0

友情鏈接更多精彩內(nèi)容