Я создаю приложение для iOS, используя Rubymotion. В этом приложении я позволяю пользователю «подписать» свое имя, рисуя изображение. Я хочу сохранить эту «подпись» на реальном изображении, чтобы загрузить ее на сервер.
Я думаю, что нашел здесь решение 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)