日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Python幫你微信頭像任意添加裝飾,別再@微信官方了!

 @微信官方

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、平順ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的平順網(wǎng)站制作公司

昨天朋友圈刷爆了@微信官方的梗,從起初的為頭像添加國(guó)旗,到最后的各種Book思議的需求…而我呢?@了辣么辣么多的奧特曼,結(jié)果還是加班到12點(diǎn)多…最后想想,人還是得靠自己吧,@我自己吧…

昨天最近每晚加班回家都凌晨了,昨晚因?yàn)樘蹧](méi)更新,今天再不更新感覺(jué)有點(diǎn)太對(duì)不起大家,所以想想今天就學(xué)著@微信官方,用Python給我們的微信頭像添加國(guó)旗吧!

說(shuō)說(shuō)上篇文章

上篇文章如何把圖片變得炫酷多彩,Python教你這樣實(shí)現(xiàn)!,其實(shí)也是講關(guān)于圖片拼接的內(nèi)容,只是有些朋友私下微信和我說(shuō),分塊加載的方式不夠好看,看著像是因?yàn)榫W(wǎng)速不好而一點(diǎn)點(diǎn)顯示的效果。其實(shí),文章只是給大家提供一個(gè)思路,你可以根據(jù)自己的算法去優(yōu)化圖片內(nèi)容的加載方式,比如這樣隨即加載的模式:

當(dāng)然你還可以轉(zhuǎn)圈等等…

很多朋友問(wèn),Python應(yīng)該怎么學(xué)習(xí)才上手快。其實(shí)學(xué)編程不管什么語(yǔ)言都是如出一轍的方式,多練習(xí)勤動(dòng)手!當(dāng)你不知道該寫(xiě)什么的時(shí)候,自己給自己找一點(diǎn)練習(xí)的idea,相信你的python會(huì)學(xué)的更快且更有趣…

頭像添加國(guó)旗

今天微信添加國(guó)旗的活動(dòng),最終我也不知道@微信官方到底有沒(méi)有用,上班一天忙著填坑,沒(méi)什么時(shí)間玩手機(jī)。到時(shí)看朋友發(fā)有的鏈接可以給微信加頭像,但晚上發(fā)現(xiàn)鏈接失效了。想想既然上篇文章做了關(guān)于圖片剪裁粘貼的文章,為何不用Python給自己的頭像添加一個(gè)國(guó)旗呢?

  • 圖片堆疊

python默認(rèn)創(chuàng)建的圖片都是矩形的,這樣直接把矩形圖片加到微信的頭像上,實(shí)在太丑了!就比如搜到的一篇文章:

通過(guò)Python給頭像加國(guó)旗,10多行代碼搞定,就別@官方了

這種添加沒(méi)毛病,但不覺(jué)得有點(diǎn)丑么…該怎么做才能美化呢?先來(lái)看看效果圖:

大家覺(jué)得以上兩種圖片,哪個(gè)梗好看呢?哈哈…

  • 特效分析

看似兩張圖差別不太,其實(shí)技術(shù)處理上,相差還是很多的。

首先,我們準(zhǔn)備一張用來(lái)添加的圖標(biāo),就像這樣:

程序支持你添加任意的圖標(biāo)來(lái)繪圖,只需要更換icon.png的名字即可,比如我換成東京食尸鬼的金木,是不是很炫酷:

其次,最外層不起眼的一圈留白,為了達(dá)到這個(gè)效果,我們需要先創(chuàng)建一個(gè)白色的背景畫(huà)布,然后將我們的頭像居中粘貼上去。

之后,是如何生成一個(gè)圓形的圖片,大家知道默認(rèn)創(chuàng)建的圖片都是矩形的,我們需要通過(guò)RGBA的透明度,將多余的邊角進(jìn)行透明處理。

最終代碼如下:

 
 
 
 
  1. # -*- coding: utf-8 -*-
  2. # @Author   : 王翔
  3. # @WeChat   : King_Uranus
  4. # @公眾號(hào)    : 清風(fēng)Python
  5. # @Date     : 2019/9/23 23:08
  6. # @Software : PyCharm
  7. # @version  :Python 3.7.3
  8. # @File     : NationalFlag.py
  9. import os
  10. import argparse
  11. from PIL import Image
  12. BasePath = os.path.dirname(os.path.realpath(__file__))
  13. class NationalFlag:
  14.     def __init__(self):
  15.         self.border = 30
  16.         self.user_picture_size=None
  17.         self.picture, self.picture_size = self.sharpe_image(args.picture.replace('\\', '/'), 'user_picture')
  18.         self.icon, self.icon_size = self.sharpe_image(os.path.join(BasePath, 'icon.png'))
  19.     def sharpe_image(self, picture_path, img_type=None):
  20.         image = Image.open(picture_path).convert("RGBA")
  21.         size = min(image.size)
  22.         if not img_type:
  23.             size = 240
  24.         image = image.resize((size, size), Image.ANTIALIAS)
  25.         reset_picture = self.blank_image(size, img_type)
  26.         if not img_type:
  27.             pimage = image.load()  # 像素的訪問(wèn)對(duì)象
  28.             preset_picture = reset_picture.load()
  29.             r = float(size / 2)  # 圓心橫坐標(biāo)
  30.             r3 = int(size // 2)
  31.             for i in range(size):
  32.                 for j in range(size):
  33.                     lx = abs(i - r)  # 到圓心距離的橫坐標(biāo)
  34.                     ly = abs(j - r)  # 到圓心距離的縱坐標(biāo)
  35.                     l = (pow(lx, 2) + pow(ly, 2)) ** 0.5  # 三角函數(shù) 半徑
  36.                     if l < r3:
  37.                         preset_picture[i - (r - r3), j - (r - r3)] = pimage[i, j]
  38.         else:
  39.             reset_picture.paste(image, (self.border, self.border))
  40.         return reset_picture, size
  41.     def blank_image(self, size, img_type=None):
  42.         if img_type:
  43.             new_size = size + self.border * 2
  44.             color_type = (255, 255, 255)
  45.             return Image.new('RGBA', (new_size, new_size), color_type)
  46.         else:
  47.             color_type = (255, 255, 255, 0)
  48.             return Image.new('RGBA', (size, size), color_type)
  49.     def final_paste(self):
  50.         r, g, b, a = self.icon.split()
  51.         locate = self.picture_size+ self.border//2 -self.icon_size
  52.         self.picture.paste(self.icon, (locate, locate), mask=a)
  53.         self.picture.save('result.png')
  54. def run():
  55.     main = NationalFlag()
  56.     main.final_paste()
  57. if __name__ == '__main__':
  58.     parser = argparse.ArgumentParser()
  59.     parser.add_argument("-p", "--picture", required=True,
  60.                         help="請(qǐng)?zhí)顚?xiě)所需制作的圖片全路徑")
  61.     args = parser.parse_args()
  62.     run()

程序打包

這么好玩的功能,我們當(dāng)然需要打包后方便傳遞給朋友們使用嘍…頭像圖片通過(guò)-p 傳輸至程序,想要替換的裝飾秩序保證文件名為icon.png即可。是不是很方便?還不去下載嗎?公眾號(hào)輸入關(guān)鍵字:頭像 即可獲取exe文件及代碼….


本文題目:Python幫你微信頭像任意添加裝飾,別再@微信官方了!
當(dāng)前路徑:http://m.5511xx.com/article/cossghs.html