<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          簡單幾步,100行代碼用Python畫一個蝙蝠俠的logo

          共 700字,需瀏覽 2分鐘

           ·

          2022-03-23 10:55

          大家好 我是菜鳥哥!又到周末啦!

          新蝙蝠俠的電影已經(jīng)上映,蝙蝠俠作為DC漫畫的核心人物(算是臺柱子了),一直都受到廣大粉絲的喜愛。這次電影上線,不知道有沒有小伙伴觀看,目前豆瓣評分7.8分,還不錯。

          其實(shí)菜鳥哥對科幻片都很喜歡看,漫威的整個系列的電影我都看過,也是忠實(shí)粉絲啦。今天我們就用Python來畫一個蝙蝠俠的logo,大概就是下圖這個樣子:


          圖1. 蝙蝠俠的logo


          這次作圖全程用matplotlib,IDE用的是Spyder,系統(tǒng)是Windows7


          1).首先導(dǎo)入各種庫


          2).然后設(shè)置一下畫圖板

          圖片坐標(biāo)系為X軸和Y軸都在0—100的范圍。patches變量后面會用到。


          3).接下來再畫兩個橢圓

          第一個橢圓是黃色的,寬64,高34,放在最下面,第二個是黑色的,寬60,高30,放在第一個橢圓之上,兩者的中心都是坐標(biāo)為(50, 50)的點(diǎn)。

          es1 = Ellipse([50, 50], width=64, height=34, facecolor='yellow', zorder=1)

          es2 = Ellipse([50, 50], width=60, height=30, facecolor='black', zorder=2)

          大概就是下面的效果。

          圖2. 兩個橢圓的效果圖


          • 然后畫出圖片左上部分的缺口,這部分用來顯示蝙蝠的頭部和翅膀。

          • 這里我們用了3階貝賽爾曲線,Path的CURVE4方法就代表3階貝塞爾曲線,CURVE3則是2階。3階貝賽爾曲線需要4個坐標(biāo)點(diǎn),我們就設(shè)置好4個坐標(biāo)點(diǎn);

          • 最后還要把這塊圖的邊線寬度設(shè)為0,否則會有黑色邊線出現(xiàn)影響效果。這個缺口圖設(shè)置為黃色

          • 這樣就和下面的第一個橢圓的顏色一樣,就能產(chǎn)生缺口效果。

          #lw是邊線寬度為0

          大體效果如下圖。

          圖3. 第一個缺口的效果圖


          4).接下來再畫出圖片的第二個缺口

          位于圖片左下方,這次我們用的是2階貝塞爾曲線,就是Path的CURVE3方法,這里需要3個坐標(biāo)點(diǎn)。其他設(shè)置和patch1類似。大體效果如下。這里我們可以看到形成了一些不規(guī)則部分,不用擔(dān)心,后面會把這些不規(guī)則的地方去掉。



          圖4. 第二個缺口的效果圖


          5).畫第三個缺口

          然后在左下方的第一個缺口旁邊再畫一個缺口,也就是本圖的第三個缺口。方法和上一個缺口類似,都是2階貝塞爾曲線,只是坐標(biāo)點(diǎn)不同,其他都一樣。


          第三個缺口形成的效果如下圖。

          圖5. 第三個缺口的效果圖


          至此,本圖基本上完成了一半,看到這里大家基本上可以看出蝙蝠標(biāo)志的大概意思了,這就是蝙蝠的左翼,如果還沒明白的話,把右側(cè)再畫完,就可以看清楚了。因?yàn)轵饦?biāo)志是左右對稱的,所以我們只要在本圖的右側(cè)再依葫蘆畫瓢,對稱畫這幾個缺口就可以了。


          6).對稱的畫出右邊部分

          我們的坐標(biāo)系是0至100的范圍,圖片中心坐標(biāo)是(50, 50),所以右側(cè)缺口的所有x坐標(biāo)為100減去左側(cè)缺口的對應(yīng)x坐標(biāo)的結(jié)果,所有y坐標(biāo)不變。下面直接放上右側(cè)3個缺口的代碼,和左側(cè)是完全對應(yīng)的,patch4是右上的缺口,patch5是右下邊最右側(cè)的缺口,patch6是右下邊靠中間的缺口。


          #右下1

          path_data5 ,path_data6都是類似的,完成兩翼的繪制之后,大體效果如下。


          圖6. 完成兩翼后的效果圖


          7).畫出頭部的效果

          這時候看起來還不太像蝙蝠,倒有點(diǎn)像烤乳鴿,沒事再畫完蝙蝠頭部就OK了。蝙蝠頭的代碼如下,就是畫出一個倒立的梯形,上底邊長一些,下底邊短一些,用的是Path的MOVETO方法,需要設(shè)置四個坐標(biāo)點(diǎn)。顏色還是黃色,邊線寬度還是0。


          頭部效果如下圖所示。

          圖7. 完成頭部后的效果圖


          到這里整個蝙蝠俠logo的蝙蝠部分就畫完了,但是還有一些細(xì)節(jié)部分要處理一下:

          比如再加個黑色邊框,然后再把不規(guī)則的部分去掉;

          黑色邊框仍用一個橢圓,這個橢圓命名為es3,和第一個黃色橢圓大小一樣,但不填充,只設(shè)置邊線寬度為4,默認(rèn)為黑色;

          然后再畫一個橢圓es4,仍不填充,邊線寬度設(shè)置為10,設(shè)為白色,這樣就能把那些不規(guī)則的地方隱去;


          代碼如下:

          es3 = Ellipse([50, 50], width=64, height=34, fill=False, lw=4, zorder=2) #不填充,同時邊線寬度設(shè)置為4,默認(rèn)為黑色

          es4 = Ellipse([50, 50], width=68, height=38, fill=False, lw=10, edgecolor='white', zorder=2) #不填充,同時邊線寬度設(shè)置為10,邊線設(shè)為白色

          最后的完成圖效果如下。

          圖8. 完成效果圖


          至此,一個蝙蝠俠的logo完全搞定,我們再放上一個猛男配色和一個藍(lán)色的logo,分別給蝙蝠女和羅賓,只需要把上面的黃色替換為粉色和藍(lán)色即可。蝙蝠家族就算完成了。


          圖9. 蝙蝠女logo

          圖10. 羅賓logo


          Python還是很有趣的,真的是無所不能!除了爬蟲,數(shù)據(jù)分析,自動化測試,自動化辦公,后端網(wǎng)站開發(fā),人工智能機(jī)器學(xué)習(xí),現(xiàn)在還能做畫酷酷的畫。真的很少有一門語言能如此簡單而強(qiáng)大,學(xué)一門Python可以干好多事情,值了。




          有興趣的同學(xué)可以火速加入我們的星球
          3周零基礎(chǔ)入門提供10節(jié)課程
          全年12節(jié)趣味實(shí)戰(zhàn)項(xiàng)目含源碼,
          每月獎勵優(yōu)秀的Top3同學(xué)送書
          專業(yè)的答疑群,大廠的老師保姆式的教學(xué)

          如果不滿意,三天內(nèi)隨意退款!一年88,現(xiàn)在優(yōu)惠16元



          掃碼加入,3周零基礎(chǔ)入門






          推薦閱讀:

          入門: 最全的零基礎(chǔ)學(xué)Python的問題  | 零基礎(chǔ)學(xué)了8個月的Python  | 實(shí)戰(zhàn)項(xiàng)目 |學(xué)Python就是這條捷徑


          干貨:爬取豆瓣短評,電影《后來的我們》 | 38年NBA最佳球員分析 |   從萬眾期待到口碑撲街!唐探3令人失望  | 笑看新倚天屠龍記 | 燈謎答題王 |用Python做個海量小姐姐素描圖 |碟中諜這么火,我用機(jī)器學(xué)習(xí)做個迷你推薦系統(tǒng)電影


          趣味:彈球游戲  | 九宮格  | 漂亮的花 | 兩百行Python《天天酷跑》游戲!


          AI: 會做詩的機(jī)器人 | 給圖片上色 | 預(yù)測收入 | 碟中諜這么火,我用機(jī)器學(xué)習(xí)做個迷你推薦系統(tǒng)電影


          小工具: Pdf轉(zhuǎn)Word,輕松搞定表格和水印! | 一鍵把html網(wǎng)頁保存為pdf!|  再見PDF提取收費(fèi)! | 用90行代碼打造最強(qiáng)PDF轉(zhuǎn)換器,word、PPT、excel、markdown、html一鍵轉(zhuǎn)換 | 制作一款釘釘?shù)蛢r機(jī)票提示器! |60行代碼做了一個語音壁紙切換器天天看小姐姐!


          年度爆款文案

          點(diǎn)閱讀原文,看B站22個原創(chuàng)視頻!

          瀏覽 101
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亲子乱AⅤ一区二区三区 | 91狠狠综合久 | 国精产品一区一区三区四区 | 亚洲成人AV在线 | 免费无码婬片AAAA片直播表情 |