I use PaintCode, and he created some code to create a text overlay form. I want to use code to parse a string and create a UIImage, which I can save to the camera roll or share with FB, but I'm struggling to create a UIImage. Any help would be great!
Here is the code:
- (void)drawShareImageWithText: (NSString*)text; { //// Color Declarations UIColor* questionText = [UIColor colorWithRed: 1 green: 1 blue: 1 alpha: 1]; //// Bezier Drawing UIBezierPath* bezierPath = UIBezierPath.bezierPath; [bezierPath moveToPoint: CGPointMake(42.46, 0.09)]; [bezierPath addCurveToPoint: CGPointMake(53.37, 11) controlPoint1: CGPointMake(42.46, 0.09) controlPoint2: CGPointMake(47.66, 5.3)]; [bezierPath addLineToPoint: CGPointMake(255.6, 11)]; [bezierPath addCurveToPoint: CGPointMake(267.62, 11.92) controlPoint1: CGPointMake(261.76, 11) controlPoint2: CGPointMake(264.84, 11)]; [bezierPath addLineToPoint: CGPointMake(268.16, 12.05)]; [bezierPath addCurveToPoint: CGPointMake(275.95, 19.84) controlPoint1: CGPointMake(271.78, 13.37) controlPoint2: CGPointMake(274.63, 16.22)]; [bezierPath addCurveToPoint: CGPointMake(277, 32.4) controlPoint1: CGPointMake(277, 23.16) controlPoint2: CGPointMake(277, 26.24)]; [bezierPath addLineToPoint: CGPointMake(277, 148.6)]; [bezierPath addCurveToPoint: CGPointMake(276.08, 160.62) controlPoint1: CGPointMake(277, 154.76) controlPoint2: CGPointMake(277, 157.84)]; [bezierPath addLineToPoint: CGPointMake(275.95, 161.16)]; [bezierPath addCurveToPoint: CGPointMake(268.16, 168.95) controlPoint1: CGPointMake(274.63, 164.78) controlPoint2: CGPointMake(271.78, 167.63)]; [bezierPath addCurveToPoint: CGPointMake(255.6, 170) controlPoint1: CGPointMake(264.84, 170) controlPoint2: CGPointMake(261.76, 170)]; [bezierPath addLineToPoint: CGPointMake(21.4, 170)]; [bezierPath addCurveToPoint: CGPointMake(9.38, 169.08) controlPoint1: CGPointMake(15.24, 170) controlPoint2: CGPointMake(12.16, 170)]; [bezierPath addLineToPoint: CGPointMake(8.84, 168.95)]; [bezierPath addCurveToPoint: CGPointMake(1.05, 161.16) controlPoint1: CGPointMake(5.22, 167.63) controlPoint2: CGPointMake(2.37, 164.78)]; [bezierPath addCurveToPoint: CGPointMake(0, 148.6) controlPoint1: CGPointMake(0, 157.84) controlPoint2: CGPointMake(0, 154.76)]; [bezierPath addLineToPoint: CGPointMake(0, 32.4)]; [bezierPath addCurveToPoint: CGPointMake(0.92, 20.38) controlPoint1: CGPointMake(0, 26.24) controlPoint2: CGPointMake(0, 23.16)]; [bezierPath addLineToPoint: CGPointMake(1.05, 19.84)]; [bezierPath addCurveToPoint: CGPointMake(8.84, 12.05) controlPoint1: CGPointMake(2.37, 16.22) controlPoint2: CGPointMake(5.22, 13.37)]; [bezierPath addCurveToPoint: CGPointMake(21.4, 11) controlPoint1: CGPointMake(12.16, 11) controlPoint2: CGPointMake(15.24, 11)]; [bezierPath addLineToPoint: CGPointMake(31.54, 11)]; [bezierPath addCurveToPoint: CGPointMake(42.46, 0.09) controlPoint1: CGPointMake(37.25, 5.3) controlPoint2: CGPointMake(42.46, 0.09)]; [bezierPath closePath]; [StyleKit.Color1 setFill]; [bezierPath fill]; //// shareContent Drawing CGRect shareContentRect = CGRectMake(15, 26, 247, 136.03); NSMutableParagraphStyle* shareContentStyle = NSMutableParagraphStyle.defaultParagraphStyle.mutableCopy; shareContentStyle.alignment = NSTextAlignmentCenter; NSDictionary* shareContentFontAttributes = @{NSFontAttributeName: [UIFont fontWithName: @"Helvetica" size: 15], NSForegroundColorAttributeName: questionText, NSParagraphStyleAttributeName: shareContentStyle}; [text drawInRect: CGRectOffset(shareContentRect, 0, (CGRectGetHeight(shareContentRect) - [text boundingRectWithSize: shareContentRect.size options: NSStringDrawingUsesLineFragmentOrigin attributes: shareContentFontAttributes context: nil].size.height) / 2) withAttributes: shareContentFontAttributes]; }