范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Pixelhouse一个精美的极简主义的python绘图库

  1 说明:
  =====
  1.1 Pixelhouse:一个极简主义的绘图库,用于在python中制作精美的动画。
  1.2 可以移动任何可以绘制的东西。配有漂亮的渐变,类似instagram的滤镜和弹性变换。
  1.3 官网英文:
  A minimalist drawing library for making beautiful animations in python.
  Anything that can be drawn can be moved.
  Comes with beautiful gradients, instagram-like filters, and elastic transforms.
  2 准备:
  =====
  2.1 环境:
  华为笔记本电脑、深度deepin-linux操作系统、python3.8和微软vscode编辑器。
  2.2 传送门:https://github.com/thoppe/pixelhouse
  2.3 安装:pip install pixelhouse #本机安装 #sudo pip3.8 install pixelhouse #推荐安装 #sudo pip3.8 install -i https://mirrors.aliyun.com/pypi/simple pixelhouse
  ===以下代码为注释讲解版===
  3 Hello world:
  ==========
  3.1 代码:import pixelhouse as ph #C = ph.Canvas() #采用默认 #默认 #Canvas(width=200, height=200, extent=4.0, bg="black", img=None, name="pixelhouseImage", shift=8) #指定参数值 C = ph.Canvas(800, 800,bg="pink", name="win one")  #中文乱码 #在C中加入文本文字 #C+=ph.text("Hello World")  #默认设置,不可以显示中文 #自定义:字体(需自行下载中文字体:hwfs=华文仿宋,放在根目录下),字体大小设置 C+=ph.text("Hello World;你好世界",color="green",font="hwfs.ttf",font_size=0.5)   #保存 #C.save("/home/xgj/Desktop/Pixelhouse/Helloworld.png") #显示 C.show()
  3.2 图:
  4 palette(调色板):
  ===============
  4.1 注释版调色板和颜色列表代码:#pixelhouse=像素屋 import pixelhouse as ph pal=ph.palette(5) #print(pal[:]) #[[232, 221, 203, 255], [205, 179, 128, 255], [3, 101, 100, 255], [3, 54, 73, 255], [3, 22, 52, 255]] #pal[2],得到:[3, 101, 100, 255] #草绿色 """ C=ph.Canvas(1000,1000,extent=8.0,bg=pal[3],) C.show()
  4.2 注意:复习和总结
  #当≥5时,列表仍是5组,但是列表内的颜色值发生改变
  #打印每个像素点的颜色RGBA的值(r,g,b,alpha)
  #我们常见的RGB图像通常只有R、G、B三个通道
  #A通道=alpha通道,是指给图像添加透明度
  rgba表示颜色方式为rgba(a,b,c,d)
  其中abc用来表示颜色,d用来表示透明度
  (r, g, b, a)有4个值,每个都是0到255,RGBA的a(d值)就代表透明度。
  5 palette_blocks=调色板块:
  ====================
  5.1 代码:#palette_blocks=调色板块  """ #方法一 import pixelhouse as ph #默认 ph.palette_blocks(range(20)).show() """  """ #方法二,与上面效果相同 import pixelhouse as ph ph_win=ph.palette_blocks(range(20)) ph_win.show() """  import pixelhouse as ph #自定义columns为4 ph_win=ph.palette_blocks(range(20),columns=4) #默认 #palette_numbers, columns=2, show_number=True, width=400 ph_win.show()
  5.2 图:
  6 图片展示:
  =========import pixelhouse as ph C = ph.Canvas(800, 800,bg="pink", name="win one") #C.load("/home/xgj/Desktop/Pixelhouse/20.jpeg")  #加载图片,jpeg #C.load("/home/xgj/Desktop/Pixelhouse/blue_woods.jpg")  #加载图片,jpg C.load("/home/xgj/Desktop/Pixelhouse/blue_woods.png")  #加载图片,png #C.load("/home/xgj/Desktop/Pixelhouse/yytd.gif")  #gif格式不行 #保存 #C.save("/home/xgj/Desktop/Pixelhouse/picx.png") #显示 C.show()
  ===高级绘图===
  7 代码:import numpy as np import pixelhouse as ph #定义函数 def logo_animation(logo_text):     #作者提示取色法     #pal = ph.palette(3)     #我自己打印出来看看什么情况     #print(pal)     #[[85, 98, 112, 255], [78, 205, 196, 255], [199, 244, 100, 255], [255, 107, 107, 255], [196, 77, 88, 255]]     #我喜欢自定义取色法     pal=["red","blue","green","pink","orange"]     A = ph.Animation(fps=24, duration=1.5, width=800, height=800, bg=pal[2])     #颜色渐变从red到blue     lg = ph.gradient.linear([pal[0], pal[1]], theta=-np.pi / 4)     #画圈     A += ph.circle(color=pal[3])     A += ph.filters.gaussian_blur()     A += ph.circle(color=pal[3])     y = ph.motion.easeInOutQuad(0, 1, flip=True)     for i in np.arange(-6, 6, 1.0):         #gradient=lg,文字有渐变颜色         A += ph.text(logo_text, y=i * y, gradient=lg, font_size=1.0)     return A  if __name__ == "__main__":     logo_text = "pixelhouse"     save_name = "/home/xgj/Desktop/Pixelhouse/logo_pixelhouse_animated5.gif"     ph.canvas2gif(logo_animation(logo_text), save_name, gifsicle=True)
  图:
  8 代码:import pixelhouse as ph from pixelhouse import Animation,circle,canvas2gif import pixelhouse.motion as motion  def rotating_circles():     A = Animation(width=500, height=500, duration=1.5, fps=20, extent=4)     x = motion.easeInOutQuad(-1, 1, flip=True)     A(circle(x, 1, r=2.5, color=[0, 250, 150], mode="add"))     A(circle(-x, -1, r=2.5, color=[255, 5, 100], mode="add"))     return A  if __name__ == "__main__":     canvas2gif(rotating_circles(), "/home/xgj/Desktop/Pixelhouse/moving_circles6.gif",palettesize=32,gifsicle=True)
  图:
  9 pacman代码:
  #*args:发送一个非键值对的可变数量的参数列表给函数。(顺带复习python的魔法语法)import pixelhouse as ph from pixelhouse import Animation,ellipse, canvas2gif import pixelhouse.motion as motion import numpy as np #保留下面的注释,主要是了解python的魔法语法 #canvas_args = {"width": 500, "height": 500, "extent": 4} #animation_args = {"fps": 20, "duration": 1.5} #animation_args.update(canvas_args) #gif_args = {"palettesize": 32, "gifsicle": True}  def pacman():     #args = animation_args.copy()     #args["duration"] = 0.5     #A = Animation(**args)     A = Animation(width=500, height=500, duration=0.5, fps=20, extent=4)     pac_color = (253, 255, 0)     dp = np.pi / 4      n = len(A.timepoints)     t0 = A.timepoints[: n // 2]     t1 = A.timepoints[n // 2 :]      x0 = motion.easeOutQuad(0, dp)(t0)     x1 = motion.easeInQuad(dp, 0)(t1)     z = np.hstack([x0, x1])     #椭圆形     A += ellipse(a=2, b=2, angle_start=z, angle_end=2 * np.pi - z, color=pac_color)     return A  if __name__ == "__main__":     #canvas2gif(pacman(), "/home/xgj/Desktop/Pixelhouse/pacman7.gif", **gif_args)     canvas2gif(pacman(), "/home/xgj/Desktop/Pixelhouse/pacman7.gif", palettesize=32,gifsicle=True)
  图:
  10 checkerboard代码:import pixelhouse as ph from pixelhouse import Canvas, Animation,circle, canvas2gif import pixelhouse.motion as motion #itertools用于高效循环的迭代函数集合 import itertools  def checkerboard():     A = Animation(width=500, height=500, duration=1.5, fps=20, extent=4)     z = motion.easeInOutQuad(0, 1, True)     r = 0.40     c = [150, 250, 0]     coord = [-2, 0, 2]     #定义参数     args = {"r": r, "color": c, "mode": "add"}     for dx, dy in itertools.product(coord, repeat=2):         #引用参数,画圈         A += circle(z + dx, z + dy, **args)         A += circle(z + dx, -z + dy, **args)         A += circle(-z + dx, -z + dy, **args)         A += circle(-z + dx, z + dy, **args)         A += circle(dx, z + dy, **args)         A += circle(z + dx, dy, **args)         A += circle(dx, -z + dy, **args)         A += circle(-z + dx, dy, **args)     return A  if __name__ == "__main__":     canvas2gif(checkerboard(), "/home/xgj/Desktop/Pixelhouse/checkerboard8.gif", palettesize=32,gifsicle=True)
  图:
  11 高级欢迎的代码:import pixelhouse as ph from pixelhouse import * from pixelhouse.filters import * from pixelhouse.motion import * from pixelhouse.transform import * import numpy as np  def main():     #pal = palette(15) #自带颜色列表     #我喜欢自定义颜色     pal=["black","green","blue","pink","orange"]     C = Animation(500, 500, duration=1.5, fps=20, extent=4,bg=pal[0])     y = easeInOutQuad(-2, 2, flip=True)     def draw_circles(C):         C += circle(-2, y, r=0.40, color=pal[1])         C += circle(-1, -y, r=0.40, color=pal[2])         C += circle(1, y, r=0.40, color=pal[1])         C += circle(2, -y, r=0.40, color=pal[2])     draw_circles(C)     C += gaussian_blur(1.0, 1.0)     draw_circles(C)     with C.layer() as L:         theta = easeInOutQuad(0, 2 * np.pi)         L += rectangle(-0.5, -0.5, 0.5, 0.5, color=pal[3])         L += rotate(theta)     #导入本地根目录下的中文字体:hwfs     f_font = "hwfs.ttf"     #颜色渐变效果,从2~3(green→blue)     g = ph.gradient.linear([pal[2], pal[3]])     C += text("欢迎光临", y=3, font_size=1.0, font=f_font, gradient=g)     C += text("pixelhouse", y=-3, font_size=1.0, font=f_font, gradient=g)     return C  #没有ta,是不能保存为gif     #C.show() #没有ta,是不能显示gif  if __name__ == "__main__":     canvas2gif(main(),"/home/xgj/Desktop/Pixelhouse/pic_gif_start9.gif",  palettesize=32,gifsicle=True,)
  图:
  ===自己整理并分享出来===
  喜欢的就点赞、评论、转发、关注和收藏。

不想肝脏走向下坡路?建议少吃3白,多吃2绿,肝脏或慢慢变好导语肝脏在人体中扮演着重要的角色,注意肝脏保养好是关键,肝脏维持功能良好,保持身体正常的消化,体内毒素能第一时间排泄。但肝脏却是一个沉默器官,在肝脏受到损伤的早期时,身体不会有特别有肝病的人不能吃肉?提醒想要肝脏好,3种食物尽量少往桌上端导语人作为一个整体,就如同一台精细的机器离不开每个部位的配合,肝在人体中发挥着巨大的作用,我们身体摄入的食物或者一些别的物质中,多多少少都会含有一些对人体无益的物质。而肝脏就是来应喝菊花茶能淡斑吗?提醒平时坚持这4个习惯,或有助美白淡斑家住杭州的王小亚今年45岁,王小亚曾是一名塑胶厂工人。前几年单位的效益不好,周子平下岗了,为了家中的生计周子平找了份送牛奶的工作。每天早上4点就要起床,挨家挨户的给人送牛奶。送完牛每天喝一小杯白酒的人,后来怎么样了?不妨听听医生怎么说家住山东青岛的李广,今年42岁,平时最大的爱好就是喝酒。由于老伴走到早,李广每天无所事事,这个时候他就特别喜欢,游荡在小区周围,有婚庆的地方总有他的身影,不仅如此,还会在每天晚饭的医生提醒得了肺结节的人,这3种东西尽量远离,避免结节增大导语肺结节是一种病因未明的多系统,多器官的肉芽肿性疾病。肺部结节主要表现为咳嗽,咳痰,甚至少量咯血,伴有乏力,发热,盗汗,食欲减退,体重减轻,胸闷,气紧,发绀等症状。为什么肺结节的长期吃黑芝麻,身体可能会得到6个好处,不妨了解一下导语黑芝麻是我们生活中非常常见的一种食材,不仅有诱人的香气,而且还有很不错的养生功效。所以合理食用黑芝麻,不仅是一道美食,还是一道养生良方。那么,长期吃黑芝麻的话,对身体会有哪些好肝脏不适,可以吃玉米吗?提醒秋季养肝,3种食物要少碰导语肝脏是人体内进行物质代谢的重要器官。常常把它比喻为机体内的化工厂,起着改造加工,合成转变排泄等复杂的作用。所以,在平时一定要注意好好养肝我们的肝脏健康。01hr肝脏不适,可以吃胃溃疡吃什么养胃?提醒胃不适,不妨常吃这9种养胃食物导语胃溃疡是消化系统常见病和多发病,虽然胃溃疡并不是严重疾病,但一直放任不管却会发展成胃癌,从而威胁生命。因此,对于胃溃疡患者来说,日常一定要做好护理工作。胃溃疡吃什么养胃?医生提夜里磨牙说明肚子里有虫?医生或与这几个因素有关,建议多注意导语你有没有过这样的经历?半夜醒来,听到周围有咯吱咯吱的声音,仔细一听,原来是室友在磨牙。于是第二天就告诉室友你昨晚睡觉时磨牙了,肚子里肯定有蛔虫!夜间磨牙就代表肚子里有蛔虫?在日杭州一男子每天用枸杞泡水喝,坚持3个月后,身体会有哪些变化?导语枸杞在生活中是非常受欢迎的,因为它的养生效果很好,而且煲汤泡茶都是很不错的。下面,小编就为大家介绍一下枸杞泡水的功效有哪些吧。案例45岁的李斌家住杭州,为了能养活一大家子,他不长时间吃面条,对身体真的好吗?爱吃面条的朋友要清楚导语面条是中华民族的传统美食,深受各界各族人民群众的喜爱。面条在中国的食用历史悠久,各地丰富的物产和生活习俗,蕴育出了不同特色和口味的面条,其种类众多,面条融入到人们的生活,在人生
学校管文化校外管生活是教育领域最好的ampampquot高低搭配ampampquot育邻梦网友提问停课裁员培训机构除了倒闭还有别的办法吗?回复学校管文化校外管生活是教育领域最好的高低搭配。不是不想生孩子,是职业工作时间不允许不是不想生孩子,是生来没时间带不是不想生教育ampampquot双减负ampampquot应该减轻家庭综合生育成本降低学分的唯一正确性育邻梦生命,被赋予了繁殖能力生长周期小部分损伤自愈功能的自然物质组合形态。人类,自然生命体系中最具智慧且唯一直立胎生的高等级哺乳动物,自然生命体系之中唯有人类进化创造出了极为抽象的人类社会文明成果积淀越深厚,办好教育工作的难度越大育邻梦网友提问中国教育几千年,为何越走越艰难?现如今的教育是什么情况呢?一学生焦虑家长焦虑老师焦虑社会焦虑二好像人人都对教育抱有很大的期待,却又很多人都不信任教育三改革艰难,一动就充实童年现实生活游娱ampampamp抑制虚拟网络竭泽而渔必须政商合谋育邻梦网友提问想象一下,如果没有网络游戏,现在的青少年会是什么样子?回复充实童年现实生活游娱抑制虚拟网络竭泽而渔必须政商合谋。吕氏春秋义赏竭泽而渔岂不获得而明年无鱼。排干了塘里的水稳定人口生育迫切需要普及国办小区级综合课外素质托育服务育邻梦网友提问课后服务到底是学生需要还是家长需要?回复稳定人口生育迫切需要普及国办小区级综合课外素质托育服务。江山就是人民,人民就是江山。人是一切人类社会文明成果与消费财富的初始缔最好的教育减负让课外素质教育成为家常便饭育邻梦网友提问为什么最近老有穿着网格员马甲的人,到处问孩子有没有补课?回复最好的教育减负让课外素质教育成为家常便饭。生命,被赋予了繁殖能力生长周期小部分损伤自愈功能的自然物质组合形工业化职业分工治教思维医不好人口生育能力低下ampampquot病ampampquot育邻梦网友提问对于中小学延时教育,你认为是变相给老师钱还是解决你的实际困难?回复工业化职业分工治教思维医不好人口生育能力低下病。生命,被赋予了繁殖能力生长周期小部分损伤自愈功能的自教育不能把所有孩子当神童,更不能要求所有孩子都ampampquot闲庭漫步ampampquot育邻梦网友提问双减政策落地后作为老师该怎样向40分钟要质量?回复教育不能把所有孩子当神童,更不能要求所有孩子都闲庭漫步。我国近代教育家陶行知先生说培养教育人和种花木一样,首先要认识孩子们最好的成长素质应该从小从生活中养成育邻梦网友提问有哪些素质培训课程适合小学阶段教学?回复孩子们最好的成长素质应该从小从生活中养成。童年综合素质培育需要漫长的综合性成长引导,而不是被制成块儿的方糖。俗话说三岁看大,七以春播秋收之心才能办好教育育邻梦网友提问如何看待辅导班过多的问题?童年过多的学习负担,剥夺了孩子快乐的童年,没有了个人爱好,缺少了独立思维的培养,应该建设更多的大学,使大学门槛降低,让大学更加普及,培训辅导家庭是孩子学习成才旅程中最坚强的柱石育邻梦网友提问中小学不让补课,老师的孩子会不会很占优势?回复家庭是孩子学习成才旅程中最坚强的柱石。生命,被赋予了繁殖能力生长周期小部分损伤自愈功能的自然物质组合形态,自然生物降生之