如何透明地在imageview的表面上绘制

时间:2009-12-17 05:14:54

标签: iphone cocoa-touch core-graphics

我想跟踪手指触摸并在imageView上绘制路径。 以下是我的所作所为:

在触摸事件中:

UIgraphicsBeginImageContext(imageView.frame.size);
[imageView.image drawInRect:CGRectMake(0,0,imageView.size.width,imageView.size.height)];

//drawing.....
imageView.image=UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

然而,图纸不透明背景图片? 如何绘制路径仍然可以使背景可用?

提前感谢:)

1 个答案:

答案 0 :(得分:0)

如果您正在进行简单的矢量绘图,则可以设置一个非1.0 alpha值的颜色。当您在图像上绘制它们时,这些形状将是半透明的。例如:

CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB();
CGFloat values[4] = {1.0, 0.0, 0.0, 0.5}; 
CGColorRef translucentRed = CGColorCreate(space, values); 

CGContextSetStrokeColorWithColor(context, translucentRed);
CGContextSetFillColorWithColor(context, translucentRed)

// Do your drawing here

CGColorRelease(translucentRed);
CGColorSpaceRelease(space);

将创建半透明的红色并设置当前笔触和填充以使用该颜色。

请注意,重叠绘制的元素会因为这种半透明而具有较暗的区域,这可能是您不想要的效果。