In this tutorial, we will use python pillow and numpy to generate gradient image. You can create one by following our tutorial.
1.Key to generate gradient image
To generate gradient image, we should use numpy to create a numpy array with the shape (width, height, 3).
2.Create gradient image numpy data
def get_gradient_2d(start, stop, width, height, is_horizontal): if is_horizontal: return np.tile(np.linspace(start, stop, width), (height, 1)) else: return np.tile(np.linspace(start, stop, height), (width, 1)).T def get_gradient_3d(width, height, start_list, stop_list, is_horizontal_list): result = np.zeros((height, width, len(start_list)), dtype=np.float) for i, (start, stop, is_horizontal) in enumerate(zip(start_list, stop_list, is_horizontal_list)): result[:, :, i] = get_gradient_2d(start, stop, width, height, is_horizontal) return result
3.Create image by numpy data
from PIL import Image array = get_gradient_3d(512, 256, (0, 0, 192), (255, 255, 64), (True, False, False)) Image.fromarray(np.uint8(array)).save('data/dst/color_gradient.jpg', quality=95)
Run this code, you will see this gradient image.