I was able to get the dark background using CCRenderTexture as shown in Steve Oldmeadow's example in this thread:
http://www.cocos2d-iphone.org/forum/topic/2473
Here is the code that is working for me:
CCRenderTexture *target;
GLfloat *coordinates, *vertices;
ccColor4B *colors;
int segs;
segs = 45;
vertices = malloc( sizeof(GLfloat)*2*(segs));
coordinates = malloc( sizeof(GLfloat)*2*(segs));
colors = malloc( sizeof(ccColor4B)*(segs));
memset(vertices,0, sizeof(GLfloat)*2*(segs));
memset(coordinates,0, sizeof(GLfloat)*2*(segs));
CGSize s = [[CCDirector sharedDirector] winSize];
target = [CCRenderTexture renderTextureWithWidth:s.width height:s.height];
[target setPosition:ccp(0,0)];
[self addChild:target z:1];
colors[0] = ccc4(0, 0, 0, 255);
for (int i = 1; i < segs; i++)
{
colors[i] = ccc4(0, 0, 0, 0);
}
[target clear:0 g:0 b:0 a:1.0f]; // Set the background to black, this can be any color
float r = 100.0f;
int width = texture_.pixelsWide;
int height = texture_.pixelsHigh;
const float coef = 2.0f * (float)M_PI/(segs-2) ;
CGPoint pt = ccp(240, 160); // This is where the gradient circle will be drawn
vertices[0] = pt.x;
vertices[1] = pt.y;
coordinates[0] = pt.x/width;
coordinates[1] = (contentSize_.height-pt.y)/height;
for(int i=1;i<=segs;i++)
{
float rads = i*coef;
float j = r * cosf(rads) + pt.x;
float k = r * sinf(rads) + pt.y;
vertices[i*2] = j;
vertices[i*2+1] = k;
coordinates[i*2] = (j)/width;
coordinates[i*2+1] = (contentSize_.height-k)/height;
}
// begin drawing to the render texture
[target begin];
glBindTexture(GL_TEXTURE_2D, texture_.name);
glBlendFunc(GL_ZERO, GL_ONE_MINUS_SRC_ALPHA);
glColorMask(0.0f, 0.0f, 0.0f, 1.0f);
glVertexPointer(2, GL_FLOAT, 0, vertices);
glTexCoordPointer(2, GL_FLOAT, 0, coordinates);
glColorPointer(4, GL_UNSIGNED_BYTE, 0, colors);
glDrawArrays(GL_TRIANGLE_FAN, 0, segs);
glColorMask(1.0f, 1.0f, 1.0f, 1.0f);
glBlendFunc(CC_BLEND_SRC, CC_BLEND_DST);
// finish drawing and return context back to the screen
[target end];
free(vertices);
free(coordinates);
free(colors);
Thanks Steve and mobilebros for your help in getting this working.