書かれたテキストをUIImageに追加したいテキストボックスがあります。
NSStringをUIImageに描画するにはどうすればよいですか?
私は検索してたくさんの例を見つけましたが、どれもうまくいきません。Xcodeは私にたくさんのエラーを与えます。
簡単に言えば、NSStringをUIimageに描画したいと思います。UIImageは、事前定義されたUIImageViewと同じサイズで、中央に配置する必要があります。
何か案は?
書かれたテキストをUIImageに追加したいテキストボックスがあります。
NSStringをUIImageに描画するにはどうすればよいですか?
私は検索してたくさんの例を見つけましたが、どれもうまくいきません。Xcodeは私にたくさんのエラーを与えます。
簡単に言えば、NSStringをUIimageに描画したいと思います。UIImageは、事前定義されたUIImageViewと同じサイズで、中央に配置する必要があります。
何か案は?
私は解決策がここにあると思います..私は私のアプリケーションの1つでこのメソッドを使用しました.ここでlbltextは私のラベルのオブジェクトです. このメソッドは、指定されたテキストで新しい画像を作成し、テキストで新しい画像のオブジェクトを返します。
-(UIImage *) drawText:(NSString*) text inImage:(UIImage*)image atPoint:(CGPoint)point
{
UIFont *font = lblText.font;
UIGraphicsBeginImageContext(iv.frame.size);
[image drawInRect:CGRectMake(0,0,iv.frame.size.width,iv.frame.size.height)];
CGRect rect = CGRectMake(point.x,point.y,lblText.frame.size.width, lblText.frame.size.height);
[lblText.textColor set];
[text drawInRect:CGRectIntegral(rect) withFont:font];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
以下のコメントでは、ポイントとしてiv.centerを渡しました..このように手動で試してください
CGPoint point;
point.x=30; // dynamicaly just for example lblText.frame.origin.x;
point.y=40; //lblText.frame.origin.y;
このように上記のメソッドを呼び出す必要があります...
UIImage *img = [self drawText:@"Test String" inImage:originalImage atPoint:point];
ここで、img は、新しい画像をテキストとともに保存するための UIImage の別のインスタンスです...このメソッドを呼び出した後、後で使用するために img imager を使用します..
例えば...
[newimageviewObj setImage:img];
これがあなたに役立つことを願っています
UIImage は UIView のサブビューではないため、サブビューを追加することはできません。また、NSString は UIView のサブビューではありません。画面に表示したい場合は、UIView を継承する必要があります。
だからこれを試してください:
UIImageView を作成します - そのイメージ プロパティを UIImage インスタンスに設定します。
UILabel を作成します - その text プロパティを NSString に設定します。
UIImageView のサブビューとして UILabel を追加します。
最後に、UIImageView を現在のビュー コントローラー ビューに追加します。