Rubymotionを使用してiOSアプリを構築しています。このアプリでは、ビューに描画してユーザーに名前を「署名」させます。この「署名」を実際の画像に保存して、サーバーにアップロードできるようにします。
私はここでObjective-Cソリューションを見つけたと思います:iPhone:ビューを画像として保存する方法??? (例:描いたものを保存する)
そのためのコードは次のようになります。
UIGraphicsBeginImageContext(view.bounds.size);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
私はこのコードを次のようにRubyに「変換」しようとしました。
UIGraphicsBeginImageContext(signature.bounds.size)
signature.layer.renderInContext(UIGraphicsGetCurrentContext)
image = UIImage.UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
しかし、実行すると次のエラーが発生します。
uninitialized constant SignatureController::UIGraphicsGetCurrentContext (NameError)
2013-01-27 14:20:29.943 buy_app[18384:13d03] *** Terminating app due to uncaught exception 'NameError', reason: 'signature_controller.rb:88:in `save': uninitialized constant SignatureController::UIGraphicsGetCurrentContext (NameError)
私は何が間違っているのですか?通常のビューを画像に保存する最良の方法は何ですか?
ありがとう!
アップデート
私はそれを次のように解決しました:
UIGraphicsBeginImageContext(signature.bounds.size)
signature.layer.renderInContext(UIGraphicsGetCurrentContext())
image = UIImage.UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
image = UIImagePNGRepresentation(image)