0

次のコードは、画像上にテキストを描画します。

UIGraphicsBeginImageContext(image.size);
[image drawAtPoint:CGPointZero];

NSString *stamp = @"Internal Use Only";
[stamp drawAtPoint:CGPointMake(10, 10) withFont:[UIFont systemFontOfSize:32]];

UIImage *stampedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

別の文字列を使用してコードを再度実行すると、両方の文字列が結合されて判読できなくなります。drawAtPoint()が前の文字列をオーバーレイするようにこれを作成するにはどうすればよいですか?

4

2 に答える 2

0

テキストを描画するたびに、元の画像のコピーを作成する必要があります。つまり、画像の元のバージョンを保持する必要があります。

于 2012-09-21T00:53:13.207 に答える
0

UITextViewをレンダリングすることで、これを機能させることができました。これらは、レイヤープロパティを介して自分自身を描画する方法を知っており、複数の線を表示できます(ボーナスが追加されました!):

CGContextRef context = UIGraphicsGetCurrentContext();
NSString *stamp = @"Internal Use Only";
CGRect frame = CGRectMake(0, 0, 120, 80);
textview.frame = frame;
textview.text = stamp;
textview.font = [UIFont systemFontOfSize:32];
[textview.layer renderInContext:context];
于 2012-10-05T02:18:39.430 に答える