0
コアグラフィックを使用して黒から白の放射グラデーションを作成するのは非常に簡単ですが、多くの試行の後でも私はどこに間違っているのかわかりません。黒から白へのグラディエントグラデーションは黒の画面全体を表示します
CGFloat radius = shapeRect.size.width/2.0;
CGPoint center = CGPointMake(shapeRect.origin.x+shapeRect.size.width/2, shapeRect.origin.y+shapeRect.size.height/2);
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray();
CGContextRef context = CGBitmapContextCreate(NULL, shapeRect.size.width, shapeRect.size.height, 8, shapeRect.size.width*4, colorSpace, kCGImageAlphaNone);
CGFloat components[] = {0.0, 1.0};
CGFloat locations[] = {0.0, 1.0};
CGGradientRef gradient = CGGradientCreateWithColorComponents(colorSpace, components, locations, 2);
CGContextDrawRadialGradient(context, gradient, center, 10, center, radius, 0);
CGImageRef img = CGBitmapContextCreateImage(context);
[maskedView setImage:[UIImage imageWithCGImage:img]];
CGGradientRelease(gradient);
CGContextRelease(context);
CGColorSpaceRelease(colorSpace);
ここShapeRect self.view境界を持っています
これは私のコードです:
は、私はこのような何かをしたいです。
出力としてグラデーションのない黒い画面が表示されています。 iPhone 7シミュレータを使用しています。
あなたの提案が
ありがとう私の一日保存することができます。