我们正在使用UIBezierPath
,
我们使用bezier路径绘制笔画,
蓝色RGB值和0.5 Alpha透明笔划
使用路径数组..我们几乎完成了应用程序,
但是PathsArray的绘画笔画有一些性能问题,它有绘制的Bezierpaths,就像绘制一些笔画后绘画笔画变慢一样,
所以为了避免这个性能问题我们在sketchImage View后面使用了一个临时图像视图,
我们在Top Sketch Image视图中最近绘制了一个笔划,并使用PathsArray更新了底部的Temperary iamge视图,
它可以正常工作并改善性能,但存在问题
由于所有笔划都保存为图像,我们尝试绘制另一个图像,笔划会加倍并增加重叠点的不透明度
实际上我们可以使用 kCGBlendModeCopy
但是,由于我们使用 kCGBlendModeCopy
那么有没有办法避免在同一个油漆上画笔
答案 0 :(得分:1)
您可以通过将两个图像视图(一个是横向照片)放在另一个图像视图上来实现所需的效果,另一个图像视图就是我们要绘制的。但是,不是使用alpha
绘制0.5,而是绘制UIBezierPath
的{{1}}为1.0,而是在自己的alpha
为0.5的图像视图上进行绘制。
alpha
答案 1 :(得分:0)
- (UIImage*)addImage:(UIImage *)image secondImage:(UIImage *)image2
{
UIGraphicsBeginImageContext(image.size);
[image drawInRect:CGRectMake(0,0,image.size.width,image.size.height)];
[image2 drawInRect:CGRectMake(0,0,image.size.width,image.size.height) blendMode:kCGBlendModeXOR alpha:1.0];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
添加两个UIImages使用上面的代码。在blendMode
中使用kCGBlendModeXOR
。