前言
之前探索的都是随机性很大的操作,如随机路径、随机颜色,这次来实现一个有确定结果的事情,就是渐变色。 就是一个图片,顶部是一个颜色,按从上到下的顺序,颜色渐渐改变,一直到底部,就变成了另一种颜色。
渐变色在手机产品的外观很常见,以及其他一些广告、宣传类产品、文案中也有。
实现说明
实现起来需要思考的问题是:
从画布的哪个点开始;
从什么颜色开始,什么颜色结束?
怎样实现颜色的渐变?
有什么约束?
解决方案:
就从画布的顶端,x=0,y=0开始
实现方式就从蓝色开始,逐渐加入红色,直到最后变成紫色。
由bgr模型来看,就是从255,0,0开始,把r(red)逐渐加大,直到255,0,255
约束就是red的值不能超过255
代码如下
#渐变色
import numpy as np
import cv2
#设置画布的宽度和高度
width = 255
height = 255
canvas_white = np.ones((height, width, 3), dtype="uint8")
canvas_white *= 255
blue = 255
green = 0
red = 0
array_bgr = np.array([blue, green, red])
#设置起点和起点颜色
canvas_white[0, 0] = array_bgr
#按行渐变
for i in range(0, height):
red += 1
array_bgr = np.array([blue, green, red])
for j in range(0, width):
canvas_white[i, j] = array_bgr
cv2.imshow("image", canvas_white)
cv2.waitKey(0)
cv2.destroyAllWindows()
效果如下:
总结
渐变色的效果看起来还是很漂亮的,大家有兴趣还可以尝试其他颜色的渐变色、其他方式的渐变(按列、按圈层等) 。
下一篇回到涂鸦的探索,言归正传,探索一下弧线的涂鸦。欢迎继续关注。