使用Python的pencolor函数实现渐变色功能

前言

在学习turtle库绘图时,改变线条颜色往往可以获得惊艳的效果。对于pencolor函数的使用,简单的字符串调用颜色十分简单,但其乐趣远不止一个"red"、一个"blue"这样,利用RGB参数进行选色,还可以玩出渐变的花样

提示:以下是本篇文章正文内容,下面案例可供参考

一、RGB简介

RGB,工业界的一种颜色标准,说白了就是我们现在所能见到的几乎所有颜色都是红绿蓝三种颜色按照不同比例混合而成的。

二、RGB在pencolor中的应用

1.RGB模式

pencolor(R, G, B)的RGB模式有两种,1.0和255,1.0表示输入的RGB三值范围为[0,1]的小数,255表示输入的RGB三值范围为[0,255]的整数。
:输入的RGB值须在该RGB模式的范围之内!
RGB三值部分对应颜色如下图所示(摘于网上,侵权删):

2.RGB模式切换

RGB模式可以通过colormode()函数进行切换,输入colormode(1.0)表示1.0模式,输入colormode(255)表示255模式。

3.玩转渐变色

黄色渐变色效果图:

代码:

import turtle as t
from random import *

def gradient():
 x = randint(-200, 200)
 y = randint(0, 200)
 r = 1
 g = 1
 b = y / 200
 t.pencolor(r, g, b)

 i = randint(3,20)
 t.penup()
 t.goto(x, y)
 t.pendown()
 t.fd(i)

def main():
 t.setup(400, 400, 800, 300)
 t.bgcolor('black')
 t.tracer(0)
 t.pensize(5)
 for i in range(100):
  gradient()
 t.hideturtle()
 t.update()

main()

注: 黄色对应的RGB整数值为(255,255,0),对应的RGB小数值为(1,1,0),所以我们只要确定RG的值不变,改变B的值即可绘出黄色的渐变色!
那为什么表示轴坐标的y是随机变的,还会出现层次分明的渐变色的效果呢?
:重点就是这个y了,因为b值调用的就是y值,而y值确定表示在y轴的位置确定的,b值确定表示颜色确定,所以才会出现层次分明的渐变色!

灰色渐变色效果图:

代码:

def gradient():
 x = randint(-200, 200)
 y = randint(0, 200)
 r = y / 200
 g = y / 200
 b = y / 200
 t.pencolor(r, g, b)

 i = randint(3,20)
 t.penup()
 t.goto(x, y)
 t.pendown()
 t.fd(i)

注: 灰色对应的情况为RGB三值相等,由黑色对应的RGB值为(0,0,0),白色对应的RGB值为(255,255,255),可知,我们只要确保RGB三值相等且其值在规定区间内变化,就能绘出灰色的渐变色!

总结

利用pencolor绘制渐变色有两步:一是熟悉pencolor函数的RGB模式怎么使用;二是了解所要绘制颜色对应的RGB值,通过改变RGB值来调渐变色。

到此这篇关于使用Python的pencolor函数实现渐变色功能的文章就介绍到这了,更多相关Python pencolor渐变色内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python中round函数保留两位小数的方法

    在我们日常计算的过程中,如果计算出小数,对大量的被保留数据,采用四舍五入这种保留法的误差总和是最小的,能使被保留部分的与实际值差值不超过最后一位数量级的二分之一.四舍五入是一种精确度的保留法,是我们使用这种方法为基本保留法的原因.那在我们的python中如何四舍五入?如何保留小数?用round函数就可以. 1.round函数 python的内置函数,用于数字的四舍五入. 2.round 负数 四舍五入是围绕着0来计算的 示例 round(0.5) # 1.0 round(-0.5) #-1.0

  • Python中return函数返回值实例用法

    在学习return函数时候,还是要知道了解它最主要的函数作用,比如,怎么去实现返回一个值,另外还有就是我们经常会用到的使用return能够进行多值输出,这才是我们需要抓住知识的重点,针对上述所提及的内容,都可以来往下看文章,答案都在文章内容获取哦~ return 添加返回值 return 显示返回对象 返回值接受:value = func() 例子:计算学成最高分 listv = [90,80,88,77,66] # 分数计算return高分 def scoreCalculate(values)

  • python判断all函数输出结果是否为true的方法

    我们们都学会判断真假,根据条件的不同,最终输出的结果可能为真,可能为假.在python的函数中,也有一个内置函数需要进行条件判断,那么在什么样的情况下,我们才能确保它输出的结果是true呢?今天就all函数的判断,我们进行简单的代码体验,然后分析在不同条件下,all函数的输出情况. 内置函数all 接收一个可迭代对象,如果其中所有的元素都是True,或者该可迭代对象中没有元素,返回True 等价于 def all(iterable): for element in iterable: if no

  • 使用Python的pencolor函数实现渐变色功能

    前言 在学习turtle库绘图时,改变线条颜色往往可以获得惊艳的效果.对于pencolor函数的使用,简单的字符串调用颜色十分简单,但其乐趣远不止一个"red".一个"blue"这样,利用RGB参数进行选色,还可以玩出渐变的花样 提示:以下是本篇文章正文内容,下面案例可供参考 一.RGB简介 RGB,工业界的一种颜色标准,说白了就是我们现在所能见到的几乎所有颜色都是红绿蓝三种颜色按照不同比例混合而成的. 二.RGB在pencolor中的应用 1.RGB模式 penc

  • python中pow函数用法及功能说明

    幂运算是高更数学的应用学科,是一种关于幂的数学运算.同底数幂相乘,底数不变,指数相加.同底数幂相除,底数不变,指数相减.幂的乘方,底数不变,指数相乘.适用于精确计算领域. 计算机作为精确计算的一种方式,含有大量的幂运算.在python中就有内置函数pow函数表示幂的运算. 1.pow()函数 Python的内置函数,它计算并返回x的y次方的值. 2.语法 pow(x, y, z) 3.参数 x -- 数值表达式. y -- 数值表达式. z -- 数值表达式. 4.返回值 返回 x y (x的y

  • Python中enumerate()函数编写更Pythonic的循环

    enumerate函数 enumerate是一个Python内置函数,一个功能强大的内置函数.其实功能强大不足以形容它, 但是很难用一个词来形容它的用途. 让我们来看看一个使用enumerate进行循环的例子 names = ['李四', '张三', '王二'] for index, name in enumerate(names): print(f'{index}: {value}') 下面是这个循环的结果 0: 李四 1: 张三 2: 王二 这通常是一个很有用的方式去循环,但很多初学者甚至中

  • python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解

    python中的print()函数和java中的System.out.print()函数都有着打印字符串的功能. python中: print("hello,world!") 输出结果为:hello,world! java中: System.out.print("hello,world!"); 输出结果为:hello,world! 我们可以看到,这两个函数的用法是一样的 print()函数还有这种用法: print("1+1=",1+1) 输出结

  • Python如何给函数库增加日志功能

    问题 你想给某个函数库增加日志功能,但是又不能影响到那些不使用日志功能的程序. 解决方案 对于想要执行日志操作的函数库而已,你应该创建一个专属的 logger 对象,并且像下面这样初始化配置: # somelib.py import logging log = logging.getLogger(__name__) log.addHandler(logging.NullHandler()) # Example function (for testing) def func(): log.crit

  • Python中enumerate函数代码解析

    enumerate函数用于遍历序列中的元素以及它们的下标. enumerate函数说明: 函数原型:enumerate(sequence, [start=0]) 功能:将可循环序列sequence以start开始分别列出序列数据和数据下标 即对一个可遍历的数据对象(如列表.元组或字符串),enumerate会将该数据对象组合为一个索引序列,同时列出数据和数据下标. 举例说明: 存在一个sequence,对其使用enumerate将会得到如下结果: start        sequence[0]

  • 详谈Python高阶函数与函数装饰器(推荐)

    一.上节回顾 Python2与Python3字符编码问题,不管你是初学者还是已经对Python的项目了如指掌了,都会犯一些编码上面的错误.我在这里简单归纳Python3和Python2各自的区别. 首先是Python3-->代码文件都是用utf-8来解释的.将代码和文件读到内存中就变成了Unicode,这也就是为什么Python只有encode没有decode了,因为内存中都将字符编码变成了Unicode,而Unicode是万国码,可以"翻译"所以格式编码的格式.Python3中

  • Python编程实现的图片识别功能示例

    本文实例讲述了Python编程实现的图片识别功能.分享给大家供大家参考,具体如下: 1. 安装PIL,官方没有WIN64位,Pillow替代 pip install Pillow-2.7.0-cp27-none-win_amd64.whl 2. 安装Pytesser 下载pytesser_v0.0.1.zip,解压后复制进Python27\Lib\site-packges\pytesser路径下,无pytesser则新建 在Python27\Lib\site-packges\pytesser中新

  • 详解python里使用正则表达式的全匹配功能

    详解python里使用正则表达式的全匹配功能 python中很多匹配,比如搜索任意位置的search()函数,搜索边界的match()函数,现在还需要学习一个全匹配函数,就是搜索的字符与内容全部匹配,它就是fullmatch()函数. 例子如下: #python 3.6 #蔡军生 #http://blog.csdn.net/caimouse/article/details/51749579 # import re text = 'This is some text -- with punctua

  • 浅述python中argsort()函数的实例用法

    由于想使用python用训练好的caffemodel来对很多图片进行批处理分类,学习过程中,碰到了argsort函数,因此去查了相关文献,也自己在python环境下进行了测试,大概了解了其相关的用处,为了怕自己后面又忘了,就写下来权当加深理解了.(ps:我也是python小白,理解可能比较浅显) 1.先定义一个array数据 import numpy as np x=np.array([1,4,3,-1,6,9]) 2.现在我们可以看看argsort()函数的具体功能是什么: x.argsort

随机推荐