2012-11-08 42 views
2

我正在写一个签名控制器,用户将写他的签名,然后我将签名作为图像并保存发回服务器。捕获iPhoneOSGameView作为图像

我很快找到了这个优秀的样本: https://github.com/xamarin/monotouch-samples/blob/master/GLPaint-GameView/PaintingView.cs

但我有麻烦保存绘画为图像的结果。下面的代码只是提供了一张没有实际绘图的黑色图片,所以我如何将绘图的结果绘制到图像上下文中?

PaintingView drawingView; 

...

UIGraphics.BeginImageContext(drawingView.Frame.Size); 
var ctx = UIGraphics.GetCurrentContext(); 
drawingView.Layer.RenderInContext(ctx); 
UIImage img = UIGraphics.GetImageFromCurrentImageContext();       
UIGraphics.EndImageContext(); 

回答

2

当使用OpenGL捕捉屏幕截图可以按照这个technical note苹果的指令来完成。

正常(非OpenGL)捕获可以按照此note完成。

+0

这两个环节是404:( – vmachacek

+0

@vmachacek苹果删除他们(和自由之路机似乎并不让他们)反正这是现在Xamarin.iOS最新版本中的Capture方法的一部分(就像赫尔曼所回答的那样)。 – poupou

1

MonoTouch提供了屏幕捕获的便捷方法,以在使用UIKit或OpenGL运行时捕获屏幕内容。

UIKit的应用

var screenshot = UIScreen.MainScreen.Capture(); 

GLKit应用

var screenshot = iPhoneOSGameView.Capture();