0

テキストの色、ストロークの色、ストロークの幅でテキストから画像を作成する機能を見つけました 、 、 でテキストの色とストロークの色を設定できますがCGContextSetRGBFillColorCGContextSetRGBStrokeColorストロークの幅を設定する方法がわかりませんテキストの。この問題を解決するのを手伝ってください。これが私のサンプルコードです。助けてくれてありがとう。

-(UIImage *)imageFromText:(NSString *)text withFont: (NSString *)fontName{
       // set the font type and size
       UIFont *font = [UIFont fontWithName:fontName size:100];
       CGSize size  = [text sizeWithFont:font];
       CGSize newSize = CGSizeMake(size.width+30, size.height+20);
       // check if UIGraphicsBeginImageContextWithOptions is available (iOS is 4.0+)
       if (UIGraphicsBeginImageContextWithOptions != NULL)
            UIGraphicsBeginImageContextWithOptions(newSize,NO,0.0);
       else
       // iOS is < 4.0
            UIGraphicsBeginImageContext(newSize);
       CGContextRef ctx = UIGraphicsGetCurrentContext();
       CGContextSetCharacterSpacing(ctx, 10);
       CGContextSetTextDrawingMode (ctx, kCGTextFillStroke);
       CGContextSetRGBFillColor (ctx, 0.1, 0.2, 0.3, 1); // 6
       CGContextSetRGBStrokeColor (ctx, 0.2, 0.8, 0.6, 1);

       // draw in context, you can use also drawInRect:withFont:
       [text drawAtPoint:CGPointMake(15.0, 10.0) withFont:font];

       // transfer image
       UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
       UIGraphicsEndImageContext();

       return image;

 }
4

1 に答える 1

1

これはあなたを助けるかもしれません。

NSString *str= @"YOUR String";
UIFont *font = [UIFont systemFontOfSize:16.0];
CGSize stringSize = [textToDraw sizeWithFont:font constrainedToSize:CGSizeMake(301, 10000) lineBreakMode:UILineBreakModeWordWrap];
CGRect Rect = CGRectMake(0, 0, stringSize.width , stringSize.height);
[str drawInRect:Rect withFont:[UIFont systemFontOfSize:16] lineBreakMode:UILineBreakModeWordWrap alignment:UITextAlignmentCenter];
于 2012-11-21T10:14:58.030 に答える