Ano*_*mie 25
您可以使用它CGImageCreateWithMask来应用蒙版图像.您可以通过绘制到灰度或仅alpha的CGBitmapContext来生成适当的蒙版CGContextDrawLinearGradient.
如果它显示为CALayer的内容,则可以将适当的遮罩层应用于父图层的mask属性.您可以使用CAGradientLayer适当的颜色来创建此蒙版.
您可以将图像绘制到CGBitmapContext,然后使用相应的alpha渐变kCGBlendModeDestinationIn.或者首先绘制渐变,然后使用绘制图像kCGBlendModeSourceIn.在这两种情况下,CGContextDrawLinearGradient再次是你的朋友.然后,当然,使用CGBitmapContextCreateImage或CGImageCreate在底层数据缓冲区中从CGContext中获取图像.
或者,当然,如果你控制原始图像并且永远不需要没有alpha渐变的版本,你可以将它作为具有适当alpha值的PNG存储在第一位.
你可以试试CAGradientLayer.
UIView *view = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)] autorelease];
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = view.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor blackColor] CGColor], (id)[[UIColor whiteColor] CGColor], nil];
[view.layer insertSublayer:gradient atIndex:0];
Run Code Online (Sandbox Code Playgroud)
另外一个选项
你可以去图形上下文.所有绘图都在图形上下文中进行.如果要创建具有径向渐变,线性渐变或其他任何内容的图像,则需要:
- 使用创建图像的图形上下文
UIGraphicsBeginImageContextWithOptions.- 做你想要在图像中出现的任何绘图.
- 调用
UIGraphicsGetImageFromCurrentImageContext从上下文中获取图像.
这给你一个UIImage,所以不需要转换CGImage.- 打电话
UIGraphicsEndImageContext来清理上下文.
| 归档时间: |
|
| 查看次数: |
10437 次 |
| 最近记录: |