Objective-C(iOS)で画像に文字を書くには?
2023-08-05 19:09:10
質問
プログラムでこのような画像を作りたいのですが。
上の画像とテキストが手元にあります。画像にテキストを書き込むべきでしょうか?
完全な.png画像(画像+ラベル)にして、ボタンの背景に設定したいのですが。
どのように解決するのですか?
画像内にテキストを描画し、その結果を返す。
+(UIImage*) drawText:(NSString*) text
inImage:(UIImage*) image
atPoint:(CGPoint) point
{
UIFont *font = [UIFont boldSystemFontOfSize:12];
UIGraphicsBeginImageContext(image.size);
[image drawInRect:CGRectMake(0,0,image.size.width,image.size.height)];
CGRect rect = CGRectMake(point.x, point.y, image.size.width, image.size.height);
[[UIColor whiteColor] set];
[text drawInRect:CGRectIntegral(rect) withFont:font];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
使用方法
// note: replace "ImageUtils" with the class where you pasted the method above
UIImage *img = [ImageUtils drawText:@"Some text"
inImage:img
atPoint:CGPointMake(0, 0)];
画像内のテキストの原点を0,0から好きな点に変更します。
テキストの後ろに矩形のベタ塗りをするには、行の前に以下を追加します。
[[UIColor whiteColor] set];
:
[[UIColor brownColor] set];
CGContextFillRect(UIGraphicsGetCurrentContext(),
CGRectMake(0, (image.size.height-[text sizeWithFont:font].height),
image.size.width, image.size.height));
文字サイズを使って無地の矩形の原点を計算していますが、任意の数値に置き換えてください。
関連
-
[解決済み] UILabel 内のテキストを縦に上部に揃える
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] iOSのステータスバーの文字色を変更する方法
-
[解決済み] iPhone UITextField - プレースホルダーの文字色を変更する
-
[解決済み] iOSとWatchKitで画像のtintColorを変更する方法
-
[解決済み] UIButtonで、テキストの右側に画像を配置するにはどうすればよいですか?
-
[解決済み】iOSアプリの名前を変更する方法は?
-
[解決済み】iOS 7 ナビゲーションバーのテキストと矢印の色
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Xcode 6.3 - 現在の iOS Development 証明書または保留中の証明書要求がすでにあります。
-
[解決済み] Objective-Cで、ある文字列が他の文字列を含んでいるかどうかを調べるにはどうすればよいですか?
-
[解決済み] SwiftでStringを配列に分割する?
-
[解決済み] iOSシミュレータでスクリーンショットを撮る
-
[解決済み] UIButtonのタイトルを左揃えにするにはどうしたらよいですか?
-
[解決済み] iOSで現在のデバイスの言語を取得するには?
-
[解決済み] iPhoneでナビゲーションバーを1ページ目だけ非表示にする
-
[解決済み] iOS 11、Apple TV 4Kなどを搭載したXcode 9でワイヤレスデバッグを行う方法とは?
-
[解決済み] Swiftで配列に要素を追加する
-
[解決済み] iOS Swiftで画像にテキストを追加するには?