溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用Python怎么繪制一個小米新版logo

發(fā)布時間:2021-04-20 15:42:16 來源:億速云 閱讀:250 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)使用Python怎么繪制一個小米新版logo,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

python是什么意思

Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言,其最初的設(shè)計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發(fā)獨立的項目和大型項目。

小米 “新” logo背后的數(shù)學(xué)

前段時間,小米公司發(fā)布了一條微博,引發(fā)了熱議,原來小米換了新logo了。

使用Python怎么繪制一個小米新版logo

很多人,都覺得雷總被騙了。說實話,我當(dāng)時猛的一看,也是很蒙蔽,可能咋們不懂美學(xué),不懂新logo背后蘊藏的文化底蘊吧!

使用Python怎么繪制一個小米新版logo

但是,原設(shè)計者原研哉說到:最新設(shè)計的小米logo,融入了東方哲學(xué)的思考,從而提出了一個具有「超橢圓」數(shù)學(xué)之美的小米新 LOGO,同時還增加了黑色和科技銀來作為小米品牌色彩的新搭檔。

原研哉還說到:在驗證的過程中,用到了一個數(shù)學(xué)公式。

使用Python怎么繪制一個小米新版logo

從上面的公式可以看到,這里有一個n,因此可以知道:上述公式能夠繪制出n種類型的超橢圓。而設(shè)計者最終推薦使用n=3這一形狀。

使用Python怎么繪制一個小米新版logo

使用Python怎么繪制一個小米新版logo

Python繪制新logo流程

① 繪圖原理
在正式繪圖之前,我們先來講述一下Python繪制新logo的“繪圖原理”。掌握了原理后,剩下的問題就交給代碼吧。

  • ① 利用 “超橢圓” 公式,繪制一個帶填充色的橢圓;

  • ② 遍歷 “舊logo” 上的像素值,保留白色 “米字” 處的像素值;

  • ③ 將帶“米字” 的像素值,寫入第一步的超橢圓中;

② 重要知識點的普及
關(guān)于整個代碼,有幾個函數(shù)需要給大家提一下,為了大家更夠很快學(xué)習(xí)。但是不會講解的很詳細,大家可以根據(jù)說明,自行下去查閱相關(guān)資料。

  • ① plt.fill():用于給圖形填充顏色;

  • ② plt.axis():用于打開/取消坐標(biāo)軸展示;

  • ③ plt.subplots_adjust()和plt.margins():用于去掉圖形外側(cè)多余的留白;

  • ④ image.getpixel():用于讀取圖片的像素值;

  • ⑤ image.putpixel():用于在指定坐標(biāo)位置處,寫入像素值;

③ 上代碼
首先我們先導(dǎo)入相關(guān)庫:

import matplotlib.pyplot as plt
import numpy as np
from PIL import Image

接著,利用上面 提到的公式,繪制一個不留白的n=3的超橢圓。

x = np.linspace(-1, 1, 1000)
y = + pow(1-abs(pow(x, 3)), 1/3) # 注意公式的寫法
z = - pow(1-abs(pow(x, 3)), 1/3) # 注意公式的寫法
plt.figure(figsize=(12, 12)) # 畫布大小

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的像素值,保留 “米字” 那一塊兒。將該像素值,寫入上面的 “fill.png” 中。有一點需要注意的是:白色的rgb值是255, 255, 255。

image_1 = Image.open('old.png')
image_2 = Image.open('fill.png')

w, h = image_1.size

for 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')

上述就是小編為大家分享的使用Python怎么繪制一個小米新版logo了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI