0

画像を読み込んでテキストを追加しようとしています。私のテキストはにあり、UILabelそれをに追加しようとしていUIImageます。テキストを追加することはできますが、適切なサイズで表示できないようです。この機能を使用しようとしていますlabel.adjustsFontSizeToFitWidth = YES;が、大きな画像ではテキストが非常に小さく表示されます。

-(UILabel *)xlabel{
    if (!xlabel) {
        xlabel = [[UILabel alloc] initWithFrame:self.setLablePosition];
        xlabel.backgroundColor = [UIColor redColor];
        xlabel.adjustsFontSizeToFitWidth = YES;
        xlabel.lineBreakMode = UILineBreakModeWordWrap;
        xlabel.numberOfLines = 0;
        xlabel.textAlignment = UITextAlignmentCenter;
    }
    return xlabel;
}

-(UIImage *) textToImage:(UIImage *) myImage{
    UIImage *watermarkedImage = nil;

    UIGraphicsBeginImageContext(appDelegate.theImg.size);
    [myImage drawAtPoint: CGPointZero];
   [self.xlabel drawTextInRect:CGRectMake(0.0, 0.0, appDelegate.theImg.size.width, appDelegate.theImg.size.height)];
    watermarkedImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();    
    return watermarkedImage;
}

ありがとうございました

4

1 に答える 1

2

adjustsFontSizeToFitWidthフォントのサイズを縮小するだけです。デフォルトではフォントサイズ17から始まり、テキストが長すぎる場合はそこから縮小していくと思います。

より大きなフォントサイズから始めてみることができます:

xlabel.font = [UIFont systemFontOfSize:25];

大きい画像では大きくなり、小さい画像では必要に応じて小さくなります。

また、がに設定されてadjustsFontSizeToFitWidthいる場合にのみ機能します。numberOfLines1

これを参照してください:UILabelドキュメント

于 2012-06-18T20:51:52.453 に答える