Python帶你做個愉快的"動森"玩家! (超簡單代碼)

最近Switch上的《動物森友會》可謂是炙手可熱,它幾乎算是任天堂版的《模擬人生》了,它的最新遊戲《集合啦!動物森友會》(以下稱“動森”)在發售後,取得了不錯的媒體評價和首發成績。


Python帶你做個愉快的

動森火起來有大部分原因是因為它的細節做的很到位,例如最受好評的:玩家可以自己手工DIY。(說實話,如果不是動森,我的NS可能還在積灰~)


我們可以先看看別人的DIY:

Python帶你做個愉快的

《火影》


Python帶你做個愉快的

《銀魂》


Python帶你做個愉快的

《神奇寶貝》


感覺都做的很棒唉!其實做這些DIY主要就是如何設計這些卡通圖片,如果大家不怎麼會設計,那下面我就來帶著大家使用Python來生成DIY設計圖!

Python帶你做個愉快的

下面我們就來對這個圖片進行處理,我們主要使用matplotlib來處理圖片,使圖片馬賽克化。


首先安裝對應的模塊:

<code>pip install numpy
pip install matplotlib/<code>


附上代碼:

<code>import numpy as np
from matplotlib import pyplot as plt
# jupyter環境
%matplotlib inline
# 指定圖片大小
plt.figure(figsize=(40, 40))
# 讀取圖片
pic = plt.imread('./349.png')
# 指定馬賽克程度,數字越大越模糊
pic = pic[::15, ::15]
# 設置座標軸,方便對照取色
plt.grid(axis="y")
plt.grid(axis="x")
# 設置座標軸取值0-41是範圍,0.5是單位長(精度)
plt.xticks(np.arange(0, 41, 0.5))
plt.yticks(np.arange(0, 41, 0.5))
# 座標顯示,起始值顛倒對圖片有旋轉效果
plt.xlim(0,40)
plt.ylim(40,0)
plt.imshow(pic)
#保存圖片
plt.savefig("鬼斯.png")/<code>

(代碼中具體的數據大家都可以繼續調整,可能我的數據也不是最優的,例如鬼斯的眼睛可能還需要自己在手工作圖的時候加上)

效果:

Python帶你做個愉快的

Python帶你做個愉快的

再來換一張小豬佩奇試試:

Python帶你做個愉快的

Python帶你做個愉快的


Python帶你做個愉快的


主要代碼我都寫上註釋了,這邊主要說一下,imread方法讀出的對象是一個numpy的數組:

<code>[[[1. 1. 1. 1.]
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]
  ...
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]]


 [[1. 1. 1. 1.]
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]
  ...
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]]
  ...
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]]

 [[1. 1. 1. 1.]
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]
  ...
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]]]/<code>

我們馬賽克的過程其實就是將數組壓縮的一個過程,這個其實和list的切片的步長(list[::x])是一個道理。

最後,在動森上作圖的時候,有一點需要注意一下,動森面板的馬賽克格子密度比較低,我們取色的時候可以按照四個格子取一個色(畢竟都是眼球取色,也沒有RGB取色,我是將就湊合著取了,還有就是動森中一張圖片最多隻能使用 16 種顏色,大家選擇圖片的時候也要注意一下,儘量選擇和我差不多的一些無背景的圖片。馬賽克圖片應用在平面和衣服上的效果可能會有差距(畢竟衣服是曲面的),所以邊緣線可能還需要大家自己酌情調整一下。

如果你處於想學Python或者正在學習Python,Python的教程不少了吧,但是是最新的嗎?說不定你學了可能是兩年前人家就學過的內容,在這小編分享一波2020最新的Python教程。獲取方式,私信小編 “ 資料 ”,即可免費獲取哦!


分享到:


相關文章: