怎么用python绘制一个小猪佩奇
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"怎么用python绘制一个小猪佩奇",在日常操作中,相信很多人在怎么用python绘制一个小猪佩奇问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么用
千家信息网最后更新 2026年11月02日怎么用python绘制一个小猪佩奇
这篇文章主要介绍"怎么用python绘制一个小猪佩奇",在日常操作中,相信很多人在怎么用python绘制一个小猪佩奇问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么用python绘制一个小猪佩奇"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1.利用python绘制一个小猪佩奇
turtle库是一个很好的python图形绘制库,利用它我们可以绘制各种各样的图形、小动物。这个库其实并不难,实际你怎么绘制这个图形,对应的代码,就跟着你的实际绘制图形的方向走下去,即可。
from turtle import *# 绘制鼻子def nose(x,y): penup() goto(x,y) pendown() setheading(-30) begin_fill() a=0.4 for i in range(120): if 0<=i<30 or 60<=i<90: a=a+0.08 left(3) forward(a) else: a=a-0.08 left(3) forward(a) end_fill() penup() setheading(90) forward(25) setheading(0) forward(10) pendown() pencolor(255,155,192) setheading(10) begin_fill() circle(5) color(160,82,45) end_fill() penup() setheading(0) forward(20) pendown() pencolor(255,155,192) setheading(10) begin_fill() circle(5) color(160,82,45) end_fill()# 绘制头部def head(x,y): color((255,155,192),"pink") penup() goto(x,y) setheading(0) pendown() begin_fill() setheading(180) circle(300,-30) circle(100,-60) circle(80,-100) circle(150,-20) circle(60,-95) setheading(161) circle(-300,15) penup() goto(-100,100) pendown() setheading(-30) a=0.4 for i in range(60): if 0<=i<30 or 60<=i<90: a=a+0.08 left(3) forward(a) else: a=a-0.08 left(3) forward(a) end_fill()# 绘制耳朵def ears(x,y): color((255,155,192),"pink") penup() goto(x,y) pendown() begin_fill() setheading(100) circle(-50,50) circle(-10,120) circle(-50,54) end_fill() penup() setheading(90) forward(-12) setheading(0) forward(30) pendown() begin_fill() setheading(100) circle(-50,50) circle(-10,120) circle(-50,56) end_fill()# 绘制眼睛def eyes(x,y): color((255,155,192),"white") penup() setheading(90) forward(-20) setheading(0) forward(-95) pendown() begin_fill() circle(15) end_fill() color("black") penup() setheading(90) forward(12) setheading(0) forward(-3) pendown() begin_fill() circle(3) end_fill() color((255,155,192),"white") penup() setheading(90) forward(-25) setheading(0) forward(40) pendown() begin_fill() circle(15) end_fill() color("black") penup() setheading(90) forward(12) setheading(0) forward(-3) pendown() begin_fill() circle(3) end_fill()# 绘制腮帮def cheek(x,y): color((255,155,192)) penup() goto(x,y) pendown() setheading(0) begin_fill() circle(30) end_fill()# 绘制嘴巴def mouth(x,y): color(239,69,19) penup() goto(x,y) pendown() setheading(-80) circle(30,40) circle(40,80)# 绘制身体def body(x,y): color("red",(255,99,71)) penup() goto(x,y) pendown() begin_fill() setheading(-130) circle(100,10) circle(300,30) setheading(0) forward(230) setheading(90) circle(300,30) circle(100,3) color((255,155,192),(255,100,100)) setheading(-135) circle(-80,63) circle(-150,24) end_fill()# 绘制手def hands(x,y): color((255,155,192)) penup() goto(x,y) pendown() setheading(-160) circle(300,15) penup() setheading(90) forward(15) setheading(0) forward(0) pendown() setheading(-10) circle(-20,90) penup() setheading(90) forward(30) setheading(0) forward(237) pendown() setheading(-20) circle(-300,15) penup() setheading(90) forward(20) setheading(0) forward(0) pendown() setheading(-170) circle(20,90)# 绘制脚def foot(x,y): pensize(10) color((240,128,128)) penup() goto(x,y) pendown() setheading(-90) forward(40) setheading(-180) color("black") pensize(15) forward(20) pensize(10) color((240,128,128)) penup() setheading(90) forward(40) setheading(0) forward(90) pendown() setheading(-90) forward(40) setheading(-180) color("black") pensize(15) forward(20)# 绘制尾巴def tail(x,y): pensize(4) color((255,155,192)) penup() goto(x,y) pendown() setheading(0) circle(70,20) circle(10,330) circle(70,30)# 设置画布和画笔def setting(): pensize(4) hideturtle() colormode(255) color((255,155,192),"pink") setup(840,500) speed(10)def main(): setting() # 画布和画笔设置 nose(-100,100) # 鼻子 head(-69,167) # 头 ears(0,160) # 耳朵 eyes(0,140) # 眼睛 cheek(80,10) # 腮帮 mouth(-20,30) # 嘴巴 body(-32,-8) # 身体 hands(-56,-45) # 手 foot(2,-177) # 脚 tail(148,-155) # 尾巴 done() # 结束if __name__ == '__main__': main()结果如下:
2.利用python给小猪佩奇换背景色
换背景色的原理:每一个图像都是由像素点构成的,我们想要替换他们的颜色,就是找到每个像素点对应的位置,然后用指定颜色,去替换它!一般证件照背景色并不是同一种蓝色像素点,无法完成像素点的定位,这就需要我们对图像进行【腐蚀】或【膨胀】,完成图片黑白话,这样白色的像素点是255,就可以很好的定位了。
import cv2import numpy as np# 读取照片img=cv2.imread('zhu.jpg')# 图像缩放img = cv2.resize(img,None,fx=0.5,fy=0.5)rows,cols,channels = img.shapeprint(rows,cols,channels)cv2.imshow('img',img)# 图片转换为灰度图hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)cv2.imshow('hsv',hsv)# 图片的二值化处理lower_blue=np.array([90,70,70])upper_blue=np.array([110,255,255])mask = cv2.inRange(hsv, lower_blue, upper_blue)#腐蚀膨胀erode=cv2.erode(mask,None,iterations=1)cv2.imshow('erode',erode)dilate=cv2.dilate(erode,None,iterations=1)cv2.imshow('dilate',dilate)#遍历替换for i in range(rows): for j in range(cols): if erode[i,j]==255: # 像素点为255表示的是白色,我们就是要将白色处的像素点,替换为红色 img[i,j]=(0,0,255)#此处替换颜色,为BGR通道cv2.imshow('res',img)# 窗口等待的命令,0表示无限等待cv2.waitKey(0)结果如下:
3.利用python将小猪佩奇切分为九宫格
将图片切分为九宫格的原理就是:找到图片对应位置的坐标,然后进行切割。由于是九宫格,我们切分的是3*3,然后利用双层循环遍历对应位置的坐标后,进行图片切割
from PIL import Imageimport sys#将图片填充为正方形def fill_image(image): width, height = image.size #选取长和宽中较大值作为新图片的,小的地方,用图片填充为等宽等高 new_image_length = width if width > height else height #生成新图片[白底] new_image = Image.new(image.mode, (new_image_length, new_image_length), color='white') #将之前的图粘贴在新图上,居中 if width > height:#原图宽大于高,则填充图片的竖直维度 #(x,y)二元组表示粘贴上图相对下图的起始位置 new_image.paste(image, (0, int((new_image_length - height) / 2))) else: new_image.paste(image, (int((new_image_length - width) / 2),0)) return new_image#切图def cut_image(image): width, height = image.size item_width = int(width / 3) item_height = int(height / 3) box_list = [] #双重循环,生成9张图片基于原图的位置 # 注意:图片左上角是(0,0),右下角是(width,height) for i in range(0,3): for j in range(0,3): print((j*item_width,i*item_height,(j+1)*item_width,(i+1)*item_height)) box = (j*item_width,i*item_height,(j+1)*item_width,(i+1)*item_height) box_list.append(box) image_list = [image.crop(box) for box in box_list] return image_list#保存def save_images(image_list): index = 1 for image in image_list: image.save(str(index) + '.jpg') index += 1 file_path = "zhuzhu.jpg"image = Image.open(file_path)image = fill_image(image)image_list = cut_image(image)save_images(image_list)
结果如下:
4.利用python制作小猪佩奇动态二维码
代码说明:如果我们利用的背景图是gif动态图,生成的就是动态二维码。如果利用的背景是静态图,生成的是静态二维码。
from MyQR import myqr# 生成的二维码最终在你电脑的存储位置# 当你使用了动态图作为背景,这里可以写成".gif",保存出来的就是gif动态二维码!save_name = r'C:\Users\Administrator\Desktop\fdasfa\D.gif'myqr.run( words='https://jq.qq.com/?_wv=1027&k=aKS84NJF', version=10, # 容错率 level='H', # 纠错水平,范围是L、M、Q、H,从左到右依次升高 colorized=True, # False为黑白 contrast=1.5, # 用以调节图片的对比度,1.0 表示原始图片。 brightness=1.0, # 用来调节图片的亮度。 save_name=save_name, #存储的文件名 # 背景图片的路径,你如果给的是".png/.jpg"等静态图片,最终生成的就是静态二维码! # 背景图片的路径,你如果给的是".gif"等动态图片,最终只需要保存为".gif",生成的就是动态二维码! picture=r'C:\Users\Administrator\Desktop\fdasfa\123.gif' )
到此,关于"怎么用python绘制一个小猪佩奇"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
图片
佩奇
背景
像素
动态
就是
二维
二维码
生成
位置
图形
静态
学习
九宫
图像
白色
结果
颜色
代码
原图
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州大一互联网络科技有限公司
互联网和科技技术
互联网科技会
科技制造互联网公司
金融科技 互联网金融
互联网金融 科技金融
浩特互联网科技
互联网科技美容
中正互联网科技招聘
科技大学互联网专业好不好
银川新华互联网科技学校地址
互联网科技公司实习生
互联网科技革命什么开始
浙南科技城互联网大厦建设工程
互联网数据科技专业
无锡工业互联网科技有限公司
互联网硬科技公司
中国新注册互联网科技
数字互联网科技有限公司
互联网科技对化妆品行业
广州百单互联网科技有限公司
科技互联网政务服务
北京互联网科技
掌上梦互联网科技
华中科技有哪些互联网大佬
广州优美互联网科技
湖北码尼互联网科技有限公司电话
黑科技闪耀互联网之光
燊美集互联网科技有限公司
互联网科技品牌