0

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)
4

1 に答える 1

4

このように解決しました

UIGraphicsBeginImageContext(signature.bounds.size)
signature.layer.renderInContext(UIGraphicsGetCurrentContext())
image = UIImage.UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
image = UIImagePNGRepresentation(image)
于 2013-01-29T13:44:37.330 に答える