1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        用Python助女神發(fā)朋友圈

        共 2171字,需瀏覽 5分鐘

         ·

        2020-07-28 12:32

        5c1e001665fbc8c9d74ae7016e765866.webp

        文 |?閑歡

        來(lái)源:Python 技術(shù)「ID: pythonall」

        25ee08fa44fc99e257afd7b8e2789056.webp


        愛(ài)美是人類(lèi)的天性,特別是女性。她們不僅喜歡打扮自己,還喜歡曬圈兒分享美好的事物。今天就教大家一個(gè)朋友圈曬圖利器——切割圖片。

        目標(biāo)需求

        我們要做的就是將一張完整的圖片分割成9張小圖片,制作成朋友圈九宮格的圖片,從而在朋友圈曬出不一樣的美景。

        最終實(shí)現(xiàn)的效果對(duì)比如下:

        7904d5f3d0790451d15e9a10f66b3d37.webp

        對(duì)比

        對(duì)比兩個(gè)朋友圈,后面的九宮格逼格提升了一個(gè)數(shù)量級(jí)有木有!

        實(shí)現(xiàn)原理

        為了實(shí)現(xiàn)九宮格,我們需要將圖片轉(zhuǎn)換成正方形,這樣切割之后效果最好。轉(zhuǎn)換的方法是先創(chuàng)建一個(gè)正方形的圖片,然后將原圖居中貼在新圖片上。

        接著,我們針對(duì)新圖片的尺寸,計(jì)算切割之后每張小圖片的尺寸,然后將每張小圖片的四個(gè)角的坐標(biāo)計(jì)算出來(lái),最后就根據(jù)這些坐標(biāo)切割圖片就行。

        這里我們主要用到 PIL 庫(kù)的 image 模塊,也是我們處理圖片經(jīng)常用到的庫(kù),安裝這里就不介紹了。

        實(shí)現(xiàn)代碼

        下面我們來(lái)看看實(shí)現(xiàn)代碼:

        from PIL import Image

        # 先將image填充為正方形def fill_image(img): width, height = img.size # 選取長(zhǎng)和寬中較大值作為新圖片的 new_image_length = width if width > height else height # 生成新圖片[白底] new_image = Image.new(img.mode, (new_image_length, new_image_length), color='white') # 將之前的圖粘貼在新圖上,居中 if width > height: # 原圖寬大于高,則填充圖片的豎直維度 # #(x,y)二元組表示粘貼上圖相對(duì)下圖的起始位置,是個(gè)坐標(biāo)點(diǎn) new_image.paste(img, (0, int((new_image_length - height) / 2))) else: new_image.paste(img, (int((new_image_length - width) / 2), 0)) return new_image

        def cut_image(img): width, height = img.size # 一行放3張圖 item_width = int(width / 3) box_list = [] # (left, upper, right, lower) for i in range(0, 3): for j in range(0, 3): print((i*item_width, j*item_width, (i+1)*item_width, (j+1)*item_width)) box = (j*item_width, i*item_width, (j+1)*item_width, (i+1)*item_width) box_list.append(box) img_list = [img.crop(box) for box in box_list]
        return img_list

        def save_images(img_list): index = 1 for img in img_list: img.save("./"+str(index) + '.png', 'PNG') index += 1

        if __name__ == '__main__': image = Image.open('./mv.jpg') image.show() image = fill_image(image) image_list = cut_image(image) save_images(image_list)

        我們的代碼主要分為三個(gè)部分:轉(zhuǎn)換圖片、切割圖片和保存圖片。對(duì)應(yīng)的就是上面的實(shí)現(xiàn)步驟。

        最后,我們用一張美女圖片來(lái)看看實(shí)現(xiàn)效果。首先,我們來(lái)欣賞一下這位美女:

        171634a318e4fbe304ff0c07a2d017e1.webp

        切割前的美女

        運(yùn)行代碼之后的小圖片如下(由于圖片太多,所以我直接拼裝成了朋友圈的樣式):

        295e44aed2f1925795dc835f4b93d634.webp

        切割后的美女

        為了保證最佳效果,處理前的圖片盡量接近正方形哦!

        昨天我運(yùn)用這段代碼,幫女神處理一張圖片,她心滿(mǎn)意足地曬了一把朋友圈,晚上還給我一個(gè)大大地吻,我紅著臉裝 X:小意思啦!

        一段代碼可以俘獲一顆心,讓她開(kāi)心和滿(mǎn)足,我看著那長(zhǎng)滿(mǎn)繭的指頭,心里默默的告訴自己:值了!

        總結(jié)

        看完這個(gè),還不趕緊去試試?不一定是女神圖片,也可以切割其他的圖片呢!大家如果覺(jué)得喜歡,點(diǎn)個(gè)“在看”分享給更多的朋友吧!

        PS公號(hào)內(nèi)回復(fù)「Python」即可進(jìn)入Python 新手學(xué)習(xí)交流群,一起 100 天計(jì)劃!


        老規(guī)矩,兄弟們還記得么,右下角的 “在看” 點(diǎn)一下,如果感覺(jué)文章內(nèi)容不錯(cuò)的話(huà),記得分享朋友圈讓更多的人知道!

        4943e182c922dd3f2a2e7b377094352c.webp854d39b5c2d1bc88d7effccc3deb8604.webp

        代碼獲取方式

        識(shí)別文末二維碼,回復(fù):200728

        瀏覽 14
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            欧美黑人一级爽快片淫片高清 | 影音先锋制服诱惑 | 午夜精品无码 | 欧美在线成人网 | 乱伦婷婷 | 性爱电影免费 | 日韩免费三级片 | free性vidos呻吟4k free性粗暴哭泣性hd | 美女骚穴| 呦呦av|