2

私は、ユーザーが画像にラベル(テキスト)を書き込んで、そのラベルを付けてiphoneローカルストレージに保存する必要があるアプリを開発しています。

(つまり、ユーザーは画像上に提供された場所に任意のテキストを追加でき、iphoneローカルストレージに書き込んだラベルを使用して画像として保存する必要があります

前もって感謝します

4

3 に答える 3

1

UILabelをサブビューとしてUIImageViewに追加すると、UIImageが含まれます。

UIGraphicsBeginImageContextWithOptions(UIImageView.bounds.size, UIImageView.opaque, 0.0);
[UIImageView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

必要なUIImageを取得します

また

自分で描くだけ

UIGraphicsBeginImageContext(imageSize);   

......
CGContextDrawImage(.....);
CGContextShowTextAtPoint(.....);
......

UIGraphicsEndImageContext();   
于 2012-04-19T06:18:59.303 に答える
1

UIImageViewとUILabelを特定のUIViewのサブビューとして追加し(このビューをと呼ぶことにしますcustomView)、を使用してビューのスクリーンショットを撮る必要があると思います。

プログラムでiPhoneのスクリーンショットを撮る方法は?

次のように理解しやすくするために変更されたリンクからの回答:

重要:追加QuartzCore Frameworkして追加#import<QuartzCore/QuartzCore.h>

CGSize screenSize = [[UIScreen mainScreen] applicationFrame].size;
CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB(); 
CGContextRef ctx = CGBitmapContextCreate(nil, screenSize.width, screenSize.height, 8, 4*(int)screenSize.width, colorSpaceRef,
kCGImageAlphaPremultipliedLast);
CGContextTranslateCTM(ctx, 0.0, screenSize.height);
CGContextScaleCTM(ctx, 1.0, -1.0);

[(CALayer*)customView.layer renderInContext:ctx];

CGImageRef cgImage = CGBitmapContextCreateImage(ctx);
UIImage *image = [UIImage imageWithCGImage:cgImage];
CGImageRelease(cgImage);
CGContextRelease(ctx);  
[UIImageJPEGRepresentation(image, 1.0) writeToFile:filePath atomically:NO];

ここで、 filePathは、アプリケーションのDocumentsディレクトリファイルパスです。

NSDocuments Directoryファイルパスは、次を使用して取得できます。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
 NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"];

次に、ビューをキャプチャするボタンまたはその他のコントロールクリックでこのコードを実行します。

さらにサポートが必要な場合はお知らせください。

これがお役に立てば幸いです。

于 2012-04-19T06:20:34.593 に答える
0

両方を1つの画像に収めるには、画面全体のスクリーンショットをキャプチャする必要があります。

Appleドキュメントの詳細はこちらから入手できます

于 2012-04-19T06:20:42.103 に答える