我试图合并两个UI图像并创建一个名为mainImage的新图像。其中一个图像是实心背景,backgroundImage,而另一个是由路径,brushimage创建的曲线。对于我现在所拥有的背景图像,但曲线图像不会被拍摄。第一种方法使用路径为曲线图像创建图像。
- (void)drawBrezierPath:(UIBezierPath *)thePath onto:(UIImage *)image {
UIGraphicsBeginImageContextWithOptions(self.bounds.size, YES, 0.0);
[image drawAtPoint:CGPointZero];
[self.brushColor setStroke];
[thePath stroke];
image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
这个创建背景:
- (void)drawBackground
{
UIGraphicsBeginImageContextWithOptions(self.bounds.size, YES, 0.0);
UIBezierPath *rectpath = [UIBezierPath bezierPathWithRect:self.bounds];
[self.backgroundColor setFill];
[rectpath fill];
backgroundImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
然后将它们合并使用:
- (void)drawMainImage {
UIGraphicsBeginImageContext(self.frame.size);
//[self drawBackground];
[backgroundImage drawInRect:self.frame];
[brushImage drawInRect:self.frame];
mainImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
但只有背景出现了。当我注释掉绘制背景的线时,会显示该线,但在绘制背景时它不会绘制。当我切换绘制background / brushimage的顺序时,它并没有产生影响,而brushImage仍然没有显示出来。
谢谢!
答案 0 :(得分:0)
你在第三个函数中合并了brushImage和BackgroundImage,但你在第一个函数中创建了“image”而不是“brushImage”,你不应该把它设置为“brushImage”吗?