私は次の図を持っています。これは、中心でフルカラーの円をレンダリングし、端で 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);