Cover by Vandad Nahavandipoor

Safari, the world’s most comprehensive technology and business learning platform.

Find the exact information you need to solve a problem on the fly, or go deeper to master the technologies and skills you need to succeed

Start Free Trial

No credit card required

O'Reilly logo

15.9. Drawing Gradients

Problem

You want to draw gradients on graphics contexts, using different colors.

Solution

Use the CGGradientCreateWithColor function.

Discussion

After learning about colors in Recipe 15.3, we’re ready to put the skills to better use than drawing simple rectangles and colorful text!

Core Graphics allows programmers to create two types of gradients: axial and radial. (We will only discuss axial gradients in this book.) Axial gradients are gradients that start from one point with one color and end at another point with another color (although they can start and stop with the same color, which does not make them much of a gradient). “Axial” means relating to an axis. The two points (start and end point) create a line segment, which will be the axis on which the gradient will be drawn. An example of an axial gradient is shown in Figure 15-26.

An axial gradient starting from the color blue and ending in the color green

Figure 15-26. An axial gradient starting from the color blue and ending in the color green

In order to create an axial gradient, you must call the CGGradientCreateWithColorComponents function. The return value of this function will be the new gradient of type CGGradientRef. This is the handle to the gradient. Once you are done with the gradient, you must call the CGGradientRelease procedure, passing the handle to the gradient that you had previously retrieved from CGGradientCreateWithColorComponents.

The CGGradientCreateWithColorComponents ...

Find the exact information you need to solve a problem on the fly, or go deeper to master the technologies and skills you need to succeed

Start Free Trial

No credit card required