ユーザーが画像の上にテキストを配置してカメラロールに保存できるアプリを作成しています。これを実装した方法は、ユーザーが写真を選択または撮影した後、テキスト フィールドが表示されることです。このテキスト フィールドは、ラベルのテキストを変更します。ユーザーがラベルをパンしたり、ピンチしてズームしたり、ラベルを回転したりできるように、ラベルにジェスチャ認識機能を配置しました。
stackoverflow の助けを借りて、画像の上にあるラベルのスクリーンショットをうまく撮ることができました。ただし、カメラ ロールに保存すると、ラベルのサイズや画像上の位置が認識されません。どんな助けでも大歓迎です。
ここで、画像をカメラロールに保存しています
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 0)
{
UIGraphicsBeginImageContext(_image.size);
[_image drawInRect:CGRectMake(0, 0, _image.size.width, _image.size.height)];
[_textLabel drawTextInRect:CGRectMake((_image.size.width - _textLabel.frame.size.width)/2, (_image.size.height - _textLabel.frame.size.height)/2, _textLabel.frame.size.width, _textLabel.frame.size.height)];
UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"WRDIT"
message:@"Your image has been saved to the Camera Roll"
delegate:self
cancelButtonTitle:nil
otherButtonTitles:@"OK", nil];
[message show];
UIImageWriteToSavedPhotosAlbum(resultingImage, nil, nil, nil);
}
}