看看如何用Python繪制小米新版天價(jià)logo
哈哈,咋們?cè)谥v述之前,首先看看最終呈現(xiàn)的效果吧,整體來(lái)說(shuō)還是很不錯(cuò)的。
前段時(shí)間,小米公司發(fā)布了一條微博,引發(fā)了熱議,原來(lái)小米換了新logo了。
很多人,都覺(jué)得雷總被騙了。說(shuō)實(shí)話,我當(dāng)時(shí)猛的一看,也是很蒙蔽,可能咋們不懂美學(xué),不懂新logo背后蘊(yùn)藏的文化底蘊(yùn)吧!
但是,原設(shè)計(jì)者原研哉說(shuō)到:最新設(shè)計(jì)的小米logo,融入了東方哲學(xué)的思考,從而提出了一個(gè)具有「超橢圓」數(shù)學(xué)之美的小米新 LOGO,同時(shí)還增加了黑色和科技銀來(lái)作為小米品牌色彩的新搭檔。
原研哉還說(shuō)到:在驗(yàn)證的過(guò)程中,用到了一個(gè)數(shù)學(xué)公式。
從上面的公式可以看到,這里有一個(gè)n,因此可以知道:上述公式能夠繪制出n種類(lèi)型的超橢圓。而設(shè)計(jì)者最終推薦使用n=3這一形狀。
① 繪圖原理在正式繪圖之前,我們先來(lái)講述一下Python繪制新logo的“繪圖原理”。掌握了原理后,剩下的問(wèn)題就交給代碼吧。
① 利用 “超橢圓” 公式,繪制一個(gè)帶填充色的橢圓; ② 遍歷 “舊logo” 上的像素值,保留白色 “米字” 處的像素值; ③ 將帶“米字” 的像素值,寫(xiě)入第一步的超橢圓中;② 重要知識(shí)點(diǎn)的普及關(guān)于整個(gè)代碼,有幾個(gè)函數(shù)需要給大家提一下,為了大家更夠很快學(xué)習(xí)。但是不會(huì)講解的很詳細(xì),大家可以根據(jù)說(shuō)明,自行下去查閱相關(guān)資料。
① plt.fill():用于給圖形填充顏色; ② plt.axis():用于打開(kāi)/取消坐標(biāo)軸展示; ③ plt.subplots_adjust()和plt.margins():用于去掉圖形外側(cè)多余的留白; ④ image.getpixel():用于讀取圖片的像素值; ⑤ image.putpixel():用于在指定坐標(biāo)位置處,寫(xiě)入像素值;③ 上代碼首先我們先導(dǎo)入相關(guān)庫(kù):
import matplotlib.pyplot as pltimport numpy as npfrom PIL import Image
接著,利用上面 提到的公式,繪制一個(gè)不留白的n=3的超橢圓。
x = np.linspace(-1, 1, 1000)y = + pow(1-abs(pow(x, 3)), 1/3) # 注意公式的寫(xiě)法z = - pow(1-abs(pow(x, 3)), 1/3) # 注意公式的寫(xiě)法plt.figure(figsize=(12, 12)) # 畫(huà)布大小plt.plot(x, y, color=(255/255, 103/255, 0))plt.plot(x, z, color=(255/255, 103/255, 0))plt.fill(x, y, color=(255/255, 103/255, 0)) # 填充顏色plt.fill(x, z, color=(255/255, 103/255, 0)) # 填充顏色plt.axis(’off’) # 不顯示坐標(biāo)軸plt.subplots_adjust(top=1, bottom=0, right=1, left=0, hspace=0, wspace=0)plt.margins(0, 0)plt.savefig(’fill.png’, transparent=True, dpi=100) # 設(shè)置保存圖片的透明值
然后,遍歷舊logo的像素值,保留 “米字” 那一塊兒。將該像素值,寫(xiě)入上面的 “fill.png” 中。有一點(diǎn)需要注意的是:白色的rgb值是255, 255, 255。
image_1 = Image.open(’old.png’)image_2 = Image.open(’fill.png’)w, h = image_1.sizefor i in range(w): for j in range(h):data = image_1.getpixel((i, j))if data == (255,)*4: image_2.putpixel((i, j), (255,)*4)image_2.save(’new.png’)獲取資源
以上圖片和代碼,均已打包,大家可以自由獲取哦!
鏈接:https://pan.baidu.com/s/1K1Kjmwnsj8NFtZRqWbZW6g 提取碼:deoy
以上就是看看如何用Python繪制小米新版天價(jià)logo的詳細(xì)內(nèi)容,更多關(guān)于python繪制小米logo的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向2. ajax post下載flask文件流以及中文文件名問(wèn)題3. IntelliJ IDEA刪除類(lèi)的方法步驟4. layui的checbox在Ajax局部刷新下的設(shè)置方法5. ajax實(shí)現(xiàn)頁(yè)面的局部加載6. idea導(dǎo)入maven項(xiàng)目的方法7. 刪除docker里建立容器的操作方法8. docker /var/lib/docker/aufs/mnt 目錄清理方法9. XML入門(mén)的常見(jiàn)問(wèn)題(四)10. jsp網(wǎng)頁(yè)實(shí)現(xiàn)貪吃蛇小游戲
