python的logo的代码_简单几步,100行代码用Python画一个蝙蝠侠的logo
蝙蝠侠作为DC漫画的核心人物之一,一直都受到广大粉丝的喜爱,而笔者作为DC的铁杆粉丝,自然也是老爷(粉丝对蝙蝠侠的昵称)的支持者。今天,笔者就用Python来画一个蝙蝠侠的logo,大概就是下图这个样子:图1. 蝙蝠侠的logo
这次作图全程用matplotlib,IDE用的是Spyder,系统是Windows7
1).首先导入各种库
2).然后设置一下画图板
图片坐标系为X轴和Y轴都在0—100的范围。patches变量后面会用到。
3).接下来再画两个椭圆
第一个椭圆是黄色的,宽64,高34,放在最下面,第二个是黑色的,宽60,高30,放在第一个椭圆之上,两者的中心都是坐标为(50, 50)的点。
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个坐标点,我们就设置好4个坐标点;
最后还要把这块图的边线宽度设为0,否则会有黑色边线出现影响效果。这个缺口图设置为黄色
这样就和下面的第一个椭圆的颜色一样,就能产生缺口效果。
#lw是边线宽度为0
大体效果如下图。图3. 第一个缺口的效果图
4).接下来再画出图片的第二个缺口
位于图片左下方,这次我们用的是2阶贝塞尔曲线,就是Path的CURVE3方法,这里需要3个坐标点。其他设置和patch1类似。大体效果如下。这里我们可以看到形成了一些不规则部分,不用担心,后面会把这些不规则的地方去掉。图4. 第二个缺口的效果图
5).画第三个缺口
然后在左下方的第一个缺口旁边再画一个缺口,也就是本图的第三个缺口。方法和上一个缺口类似,都是2阶贝塞尔曲线,只是坐标点不同,其他都一样。
第三个缺口形成的效果如下图。图5. 第三个缺口的效果图
至此,本图基本上完成了一半,看到这里大家基本上可以看出蝙蝠标志的大概意思了,这就是蝙蝠的左翼,如果还没明白的话,把右侧再画完,就可以看清楚了。因为蝙蝠标志是左右对称的,所以我们只要在本图的右侧再依葫芦画瓢,对称画这几个缺口就可以了。
6).对称的画出右边部分
我们的坐标系是0至100的范围,图片中心坐标是(50, 50),所以右侧缺口的所有x坐标为100减去左侧缺口的对应x坐标的结果,所有y坐标不变。下面直接放上右侧3个缺口的代码,和左侧是完全对应的,patch4是右上的缺口,patch5是右下边最右侧的缺口,patch6是右下边靠中间的缺口。
#右下1
path_data5 ,path_data6都是类似的,完成两翼的绘制之后,大体效果如下。图6. 完成两翼后的效果图
7).画出头部的效果
这时候看起来还不太像蝙蝠,倒有点像烤乳鸽,没事再画完蝙蝠头部就OK了。蝙蝠头的代码如下,就是画出一个倒立的梯形,上底边长一些,下底边短一些,用的是Path的MOVETO方法,需要设置四个坐标点。颜色还是黄色,边线宽度还是0。
头部效果如下图所示。图7. 完成头部后的效果图
到这里整个蝙蝠侠logo的蝙蝠部分就画完了,但是还有一些细节部分要处理一下:
比如再加个黑色边框,然后再把不规则的部分去掉;
黑色边框仍用一个椭圆,这个椭圆命名为es3,和第一个黄色椭圆大小一样,但不填充,只设置边线宽度为4,默认为黑色;
然后再画一个椭圆es4,仍不填充,边线宽度设置为10,设为白色,这样就能把那些不规则的地方隐去;
代码如下:
es3 = Ellipse([50, 50], width=64, height=34, fill=False, lw=4, zorder=2) #不填充,同时边线宽度设置为4,默认为黑色
es4 = Ellipse([50, 50], width=68, height=38, fill=False, lw=10, edgecolor='white', zorder=2) #不填充,同时边线宽度设置为10,边线设为白色
最后的完成图效果如下。图8. 完成效果图
至此,一个蝙蝠侠的logo完全搞定,我们再放上一个猛男配色和一个蓝色的logo,分别给蝙蝠女和罗宾,只需要把上面的黄色替换为粉色和蓝色即可。蝙蝠家族就算完成了。图9. 蝙蝠女logo
图10. 罗宾logo
Python还是很有趣的,真的是无所不能!除了爬虫,数据分析,自动化测试,自动化办公,后端网站开发,人工智能机器学习,现在还能做画酷酷的画。真的很少有一门语言能如此简单而强大,学一门Python可以干好多事情,值了。
往期热门系列文章:
Python心得和技巧:
数据分析和爬虫:
更多原创的精彩干货可以去公众号【菜鸟学Python】找我们。目前原创近400个趣味原创案例(Python入门,进阶,经验技巧,爬虫,数据分析,机器学习,面试经验等),欢迎来公众号找我们交流!
python的logo的代码_简单几步,100行代码用Python画一个蝙蝠侠的logo相关推荐
- python有趣的简单代码_简单几步,100行代码用Python画一个蝙蝠侠的logo
转自:菜鸟学Python 蝙蝠侠作为DC漫画的核心人物之一,一直都受到广大粉丝的喜爱,而笔者作为DC的铁杆粉丝,自然也是老爷(粉丝对蝙蝠侠的昵称)的支持者.今天,笔者就用Python来画一个蝙蝠侠的l ...
- python画画100行代码_简单几步,100行代码用Python画一个蝙蝠侠的logo
原标题:简单几步,100行代码用Python画一个蝙蝠侠的logo 转自:菜鸟学Python 蝙蝠侠作为DC漫画的核心人物之一,一直都受到广大粉丝的喜爱,而笔者作为DC的铁杆粉丝,自然也是老爷(粉丝对 ...
- abaqus画一个球 python_简单几步,100行代码用Python画一个蝙蝠侠的logo
蝙蝠侠作为DC漫画的核心人物之一,一直都受到广大粉丝的喜爱,而笔者作为DC的铁杆粉丝,自然也是老爷(粉丝对蝙蝠侠的昵称)的支持者.今天,笔者就用Python来画一个蝙蝠侠的logo,大概就是下图这个样 ...
- 用python画苹果的logo_简单几步,100行代码用Python画一个蝙蝠侠的logo
转自:菜鸟学Python 简单几步,100行代码用Python画一个蝙蝠侠的logo-1.jpg (35.33 KB, 下载次数: 0) 2020-7-30 12:04 上传 蝙蝠侠作为DC漫画的核心 ...
- 开源自制的6通道航模遥控器(一) 超简单不超过100行代码
前言 前段时间跟着LOLI大神的教程制作了LOLI三代控,效果很好.但是,由于LOLI三代控的接收机带有数据回传功能,也就是接收机的无线模块也承担了发射数据功能,所以接收机也要使用带有功率放大芯片的N ...
- python下载文件并改名_第46p,8行代码,用Python批量重命名文件
大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第46篇文章,第二阶段的课程:Python基础知识:小案例之用Python批量重命名文件. 学习本课程,建议先看一遍:[计算机基础知 ...
- python1000行代码_用好这3行代码,可以让你的Python脚本速度提升5倍!
Python是一门非常适合处理数据和自动化完成重复性工作的编程语言,我们在用数据训练机器学习模型之前,通常都需要对数据进行预处理,而Python就非常适合完成这项工作,比如需要重新调整几十万张图像的尺 ...
- 天天向上续 python代码_第46p,8行代码,用Python批量重命名文件
大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第46篇文章,第二阶段的课程:Python基础知识:小案例之用Python批量重命名文件. 学习本课程,建议先看一遍:[计算机基础知 ...
- python大神和小白代码_看大神6行代码如何带领小白快速入门Python爬虫?
原标题:看大神6行代码如何带领小白快速入门Python爬虫? 可能是小编本身就有一定的基础!当然我没有瞧不起小白的看法,知识觉得要入门一门编程语言确实比较简单,而且小编本身也是从小白过来的,但是当初接 ...
- java简单记事本代码_简单记事本的java程序代码
展开全部 天啊, 冖_Na0 为什么会有62616964757a686964616fe4b893e5b19e31333262343038我编的记事本代码呢???呵呵--你肯定是"请教&quo ...
最新文章
- lvs-keepalived
- 成都郫县php开发学校_成都各区九年制学校、十二年制学校汇总
- 五大HR所不认同的跳槽理由(转)
- 救基友记2_JAVA
- 【算法】N Queens Problem
- webpack超详细配置
- 【Siddhi】QueryNotExistException: No query found with name: outPutSecurityEvent
- 设计模式——单例模式(饿汉式、懒汉式和DCL)
- ArcGIS实验教程——实验二:ArcGIS地理配准完整操作步骤
- 模拟信号和数字信号的区别和特点
- 4.1.8 OS之文件保护(口令保护、加密保护、访问控制)
- elasticsearch 聚合搜索
- IC 拔取器 rework station
- python视频教程推荐it教程网_Python视频教程之入门基础篇_IT教程网
- java实现一个语法检查器_Java语法检查
- 企业级微信小程序实战详解
- 几何光学类毕业论文文献有哪些?
- Lottie- 让Android动画实现更简单
- matlab 电化学程序,基于MATLAB的电化学滴定曲线导数变换的实现
- C++ 修改防火墙firewall设置(Linux、Ubuntu、CentOS)
热门文章
- 加盟 XEIM 开源即时通讯软件团队
- 2021年茶艺师(中级)新版试题及茶艺师(中级)考试总结
- 电脑中病毒所有html文件,文件夹全部变成exe文件该怎么办?电脑中了kiss病毒的两种解决办法...
- 移动硬盘无法退出终极解决方法
- 《操作系统教程》(第五版)费翔林等著 课后习题参考答案
- 笔记本电脑已连接WIFI密码查看方法
- 1g等于多少mb计算机网络,1g等于多少mb 硬盘容量详细介绍
- 编译原理|LL(1)语法分析实验
- STM32LL库系列教程(一)—— LL库概览及资料
- 职教mooc计算机组装与维护课程网课答案,2020-网课答案-高职心理辅导与教育-中国大学mooc...