PhoneGap截图插件:获取图像文件路径和/或Uri

时间:2011-04-26 17:39:07

标签: iphone plugins cordova screenshot

我正在使用PhoneGap以及相关的iOS插件插件。在手机/模拟器上拍摄保存到“已保存照片”的屏幕截图是微不足道的。但我希望能够截取屏幕截图,然后对保存的图像执行某些操作,特别是将其发送到服务器。

似乎插件中使用的UIImageWriteToSavedPhotosAlbum函数没有返回任何有用的内容,所以我不知道如何修改插件以返回我在FileUploader插件中使用的图像路径。 / p>

以下相关插件代码......

- (void)saveScreenshot:(NSArray*)arguments withDict:(NSDictionary*)options
{
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGRect imageRect = CGRectMake(0, 0, CGRectGetWidth(screenRect), CGRectGetHeight(screenRect));
UIGraphicsBeginImageContext(imageRect.size);

CGContextRef ctx = UIGraphicsGetCurrentContext();
[[UIColor blackColor] set];
CGContextTranslateCTM(ctx, 0, 0);
CGContextFillRect(ctx, imageRect);

[webView.layer renderInContext:ctx];

UIImage *image1 = UIGraphicsGetImageFromCurrentImageContext();
UIImageWriteToSavedPhotosAlbum(image1, nil, nil, nil);
UIGraphicsEndImageContext();
UIAlertView *alert= [[UIAlertView alloc] initWithTitle:nil message:@"Image Saved" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
[alert release];
}

1 个答案:

答案 0 :(得分:6)

至少在我的情况下,我只是想要截图图片并没有真正关心它被保存到手机中。所以我修改了截图插件,允许将base64字符串返回给定的函数。

https://github.com/l0c0luke/phonegap-plugins/commit/cb4c09ae2442b6bb8053d3708152bc0ffc334990