Hi, I use this function to draw text on the image after completing the drawing on the image, but when I do this, it shows me transparent text, i.e. the text with opacity that I don’t want should be with alpha 1.0, I tried to add the fontcolor attribute with RGBA, but dont work
-(UIImage*) drawText:(NSString*) text
inImage:(UIImage*) image
atPoint:(CGPoint) point
atSize :(CGSize) size
{
UIGraphicsBeginImageContext(_mainViewForDrawing.frame.size);
[image drawInRect:CGRectMake(_mainViewForDrawing.frame
.origin.x,_mainViewForDrawing.frame.origin.y,_mainViewForDrawing.frame.size.width,_mainViewForDrawing.frame.size.height)];
CGPoint pt;
pt.x = point.x + _camera2EditText.frame.size.width/2;
pt.y = point.y + _camera2EditText.frame.size.height/2;
UITextPosition *post = [_camera2EditText beginningOfDocument];
CGRect r = [_camera2EditText caretRectForPosition:post];
CGRect rect = CGRectMake(r.origin.x, point.y + r.origin.y, _mainViewForDrawing.frame.size.width,_mainViewForDrawing.frame.size.height);
[[UIColor whiteColor] set];
UIFont *font = [UIFont fontWithName:TEXT_FONT_NAME size:TEXT_FONT_SIZE];
if([text respondsToSelector:@selector(drawInRect:withAttributes:)])
{
NSDictionary *att = @{ NSFontAttributeName: font, NSForegroundColorAttributeName: [UIColor whiteColor]};
[text drawInRect:rect withAttributes:att];
}
else
{
[text drawInRect:CGRectIntegral(rect) withFont:font];
}
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
How to do it
source
share