mobile app development in USA
  • Home
  • About us
  • Services Services
    • Go to SERVICES homepage

    • Angular JS Development
    • Java Development
    • Logistics Software Development
    • Robotic Process Automation
    • Ecommerce Development Services
    • Node.JS Development
    • React Native App Development
    • Salesforce Developer
    • SaaS Application Developers
    • Mobile App Development
    • Flutter Application Development
    • E-wallet Application Development
    • Web Development
    • Laravel Development
    • UI/UX Design Solutions
    • eLearning App Development
    • Xamarin App Development
  • Speciality
  • Blog
  • Contact Us


How To Make A Circular Color Gradient In Python?

  • Madhukar
  • 0 Tags
  • 0 Comments

How to make a circular color gradient In python? A circular color gradient is a type of gradient that uses circular intervals to divide the color spectrum into equal-sized sectors. The center of the circle represents zero saturation and brightness, while the outer edge represents full saturation and brightness. This approach allows designers to create gradients that can be used on circular shapes like logos or buttons without distortion when viewed from different angles.

The matplotlib tool can be used in  Python to create a circular colour gradient. A circular colour gradient can be created using the following sample code:

HOW TO MAKE A CIRCULAR COLOR GRADIENT IN PYTHON? - METHOD ONE

To create a circular color gradient, we need to import the colors module. Then we need to import the math module. Now let's create a list of colors as shown below: colors = ['red', 'orange', 'yellow', 'green', 'blue', 'purple'] and another example share it.

from PIL import Image, import colorsys

1. Set the image's dimensions.

size = 512

2. Define the gradient's middle and radius.

center = (size/2, size/2)

radius = size/2

3. Build  a new image

img = Image.new('RGB', (size, size))

4. cycle through the picture's individual pixels.

for x in range(size):

for y in range(size):

1. Determine the separation from the middle.

distance = ((x - center[0])**2 + (y - center[1])**2)**0.5

2. Determine the pixel's angle from the middle.

angle = (180 / 3.14159265) * colorsys.hsv_to_rgb(distance/radius, 1, 1)[0]  

3. depending on the angle, choose the pixel colour

  color = tuple(map(int, colorsys.hsv_to_rgb(angle/360, 1, 1)))

  img.putpixel((x, y), color)

Result: Show the image

img.show()

HOW TO MAKE A CIRCULAR COLOR GRADIENT IN PYTHON? - METHOD TWO

The second method to create a circular color gradient is by using a for loop. The main difference between this method and the first one is that instead of iterating through the colors manually, we will use Python's built-in range() function. This function allows us to pass in two numbers that represent our starting value and end value (i.e., 0 to 255), which then returns all integers between those two values as an iterable object:

import numpy as np from PIL import Image img = np.array(Image('lena')) cmap = img[:,:,0] / 255 for i in range(0, 256): cmap[i] = (cmap[i] + 1) % 255 # change each pixel depending on its index print("." * 30) print("Color Gradient") print("===========================================") print(".")*30 # newline output image = Image.fromarray(cmap).resize((256,256)) imgsave('gradient1', imgsave('gradient2', imgsave('gradient3',imgsave('gradient4','*.png').save(filepath='~/Desktop/')

HOW TO MAKE A CIRCULAR COLOR GRADIENT IN PYTHON? - METHOD THREE

● Import the packages you will need.

● Create a plot with matplotlib.pyplot, using numpy for data manipulation and pandas for data cleaning.

● Use seaborn to create a darkgrid theme for your plot.

Another way to use the numpy and matplotlib tools in Python to make a circular colour gradient is as follows:

import numpy as np

import matplotlib.pyplot as plt

1. Define the image's dimensions and the gradient's middle.

size = 512

center = (size/2, size/2)

2. Make an x and y vector meshgrid.

x, y = np.meshgrid(np.linspace(0, size-1, size), np.linspace(0, size-1, size))

3. Determine the separation between each spot and the centre.

r = np.sqrt((x-center[0])**2 + (y-center[1])**2)

4. Set the gradient's radius, then clip the lengths to it.

radius = size/2

r = np.clip(r, 0, radius)

5. Determine the angle between each spot and the centre.

theta = np.arctan2(y-center[1], x-center[0])

6. Normalize to the range after converting the angle to degrees. [0, 1]

theta = (theta + np.pi) / (2 * np.pi)

7. Use the angle and distance to create a hue gradient.

colors = np.zeros((size, size, 3))

colors[:,:,0] = theta

colors[:,:,1] = r / radius

colors[:,:,2] = 1

8. Transform the hues from HSV to RGB.

colors = plt.get_cmap('hsv')(colors)

Result: Show the image

plt.imshow(colors)

plt.axis('off')

plt.show()

HOW TO MAKE A CIRCULAR COLOR GRADIENT IN PYTHON? USING IMAGEDRAW.PIESLICE() METHOD

Using the ImageDraw.pieslice() function of the PIL (Pillow) library, you can also draw a series of overlapping pie slices in various colours to produce a circular colour gradient in Python. Here is a sample of code:

from PIL import Image, ImageDraw, import math

1. Set the image's dimensions.

size = 512

2. Draw an object on a fresh image.

img = Image.new('RGB', (size, size), (0, 0, 0))

draw = ImageDraw.Draw(img)

3. Define the gradient's middle and radius.

center = (size/2, size/2)

radius = size/2

4. Specify the quantity and dimensions of the pie slices.

num_slices = 360

slice_size = 2*math.pi / num_slices

5.Draw a different-colored pie piece after each slice in an iterative fashion.

for i in range(num_slices):

start_angle = i * slice_size

end_angle = start_angle + slice_size

color = tuple(map(int, (255 * math.sin(start_angle)**2, 255 * math.cos(start_angle)**2, 0)))

draw.pieslice((center[0]-radius, center[1]-radius, center[0]+radius, center[1]+radius), 

math.degrees(start_angle), math.degrees(end_angle), fill=color)

Result: Show the image

img.show()

This code cycles through every pie slice of something like the circular gradient while creating a fresh image of the desired dimensions and a draw object. Each slice's start and finish angles are calculated, and the angle is used to determine the colour of the slice. The pie slice is then drawn using the appropriate colour using pieslice(), and the circular colour gradient is displayed using the show() function of the Image class of the Pillow library.

CONCLUSION:

Now that we've covered the basics of color gradients, let's take a look at some more advanced uses for them. You could use this code to create a circular gradient in Python or any other program!

Leave Your Comment

CONNECT SOCIALLY

Recent Posts

Digital Transformati...

02-May-2025

Top 10 B2B E-commerc...

17-Mar-2025

Shopee Alternatives

18-Jan-2025

41 Best Omegle Alter...

07-Jan-2025

123Movies Alternativ...

07-Jan-2025
  • mobile APp USA
  • Cyprus App Developer
  • Houston app developer
  • Malaysia app developer
3630 Crowchild Dr Cumming,
Georgia 30041 USA
Tel - +1 (470) 923-1825
Email - contact@team4solution.com
1 Sylvania Gardens, Broughton,
Milton Keynes MK107FF, London outskirts, United Kingdom
Tel - +44 7436975882
Email - contact@team4solution.com
10685-B Hazelhurst Dr. #27263 Houston,
TX 77043
Tel - +1 (269) 793-9193
Email - contact@team4solution.com
Scott sentral service suites,
28 Jalan Scott Brickfields Kuala
Lumpur 50470 Malaysia
Tel - +60 11-6360 4643
Email - contact@team4solution.com

Services

  • ASP .NET Development Services
  • Java Development Services
  • Salesforce Development Company
  • Angular js Development
  • Laravel Development
  • Flutter Application Development
  • Node js Development
  • React Native App Development
  • Mean Stack Developers
  • Xamarin App Development

Company

  • About
  • Blog
  • Services
  • Privacy Policy

On-Demand

  • e-Wallet Development
  • e-Learning Development
  • Logistics Software Development
© 2025 Team4Solution. All Rights Reserved.