У меня есть следующий рисунок, который отображает круг с полным цветом в центре, переходящим в 0 альфа по краям. Когда вы рисуете это на экране, это выглядит идеально. Однако, когда я рисую то же самое в контексте PDF (CGPDFContextCreate), весь круг получается непрозрачным. Если я нарисую в PDF-файле любой другой обычный путь, альфа-канал отобразит штрафы. Так что просто градиент не работает. Это ошибка или я что-то упускаю?
CGColorSpaceRef myColorspace = CGColorSpaceCreateDeviceRGB();
size_t num_locations = 2;
CGFloat locations[2] = { 1.0, 0.0 };
CGColorRef color = [[UIColor redColor]CGColor];
CGFloat *k = (CGFloat *)CGColorGetComponents(color);
CGFloat components[8] = { k[0], k[1], k[2], 0.0, k[0], k[1], k[2], 1.0 };
CGGradientRef myGradient = CGGradientCreateWithColorComponents(myColorspace, components, locations, num_locations);
CGPoint c = CGPointMake(160, 160);
CGContextDrawRadialGradient(pdfContext, myGradient, c, 0, c, 60, 0);