Как я использую NSString, тянут функциональность для создания UIImage из текста

Я хотел бы потянуть содержание a NSString переменная в a UIImage, но у меня нет абсолютно никакой идеи, как сделать это. Я должен записать метод, который получил бы a NSString как параметр и возврат a UIImage с текстом, вовлеченным это.

36
задан Arnaud 15 May 2014 в 11:20
поделиться

2 ответа

Вы можете попробовать это: (обновлено для iOS 4)

-(UIImage *)imageFromText:(NSString *)text
{
    // set the font type and size
    UIFont *font = [UIFont systemFontOfSize:20.0];  
    CGSize size  = [text sizeWithFont:font];

    // check if UIGraphicsBeginImageContextWithOptions is available (iOS is 4.0+)
    if (UIGraphicsBeginImageContextWithOptions != NULL)
        UIGraphicsBeginImageContextWithOptions(size,NO,0.0);
    else
        // iOS is < 4.0 
        UIGraphicsBeginImageContext(size);

    // optional: add a shadow, to avoid clipping the shadow you should make the context size bigger 
    //
    // CGContextRef ctx = UIGraphicsGetCurrentContext();
    // CGContextSetShadowWithColor(ctx, CGSizeMake(1.0, 1.0), 5.0, [[UIColor grayColor] CGColor]);

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

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

    return image;
}

Чтобы вызвать его:

UIImage *image = [self imageFromText:@"This is a text"];
89
ответ дан 27 November 2019 в 05:19
поделиться

Начните контекст изображения с UIGraphicsBeginImageContext, нарисуйте его, получите изображение с UIGraphicsGetImageFromCurrentImageContext, завершите его с UIGraphicsEndImageContext

2
ответ дан 27 November 2019 в 05:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: