天秀!用python繪制價(jià)值200W的小米新logo
200-30 優(yōu)惠碼:NR9EZR
300-60 優(yōu)惠碼:HNZVTA
有效期:4.12-4.23
可疊加官方滿減優(yōu)惠;限當(dāng)當(dāng)自營(教輔教材除外)
當(dāng)當(dāng)小程序、APP 和網(wǎng)站都可使用
詳細(xì)使用方法見文章:
推薦一本經(jīng)典計(jì)算機(jī)基礎(chǔ)書籍(附當(dāng)當(dāng)優(yōu)惠碼)
最終呈現(xiàn)效果

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







Python繪制新logo流程
① 繪圖原理
① 利用 “超橢圓” 公式,繪制一個帶填充色的橢圓; ② 遍歷 “舊logo” 上的像素值,保留白色 “米字” 處的像素值; ③ 將帶“米字” 的像素值,寫入第一步的超橢圓中;
② 重要知識點(diǎn)的普及
① plt.fill():用于給圖形填充顏色; ② plt.axis():用于打開/取消坐標(biāo)軸展示; ③ plt.subplots_adjust()和plt.margins():用于去掉圖形外側(cè)多余的留白; ④ image.getpixel():用于讀取圖片的像素值; ⑤ image.putpixel():用于在指定坐標(biāo)位置處,寫入像素值;
③ 上代碼
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image
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è)置保存圖片的透明值
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')
https://blog.csdn.net/frank_haha/article/details/115361238
獲取資源
以上圖片和代碼,均已打包,大家可以自由獲取哦!在公眾號里回復(fù)關(guān)鍵字:logo
如果文章對你有幫助,歡迎轉(zhuǎn)發(fā)/點(diǎn)贊/收藏~
作者:黃偉呢
_往期文章推薦_
評論
圖片
表情
