Objective c 在ios中生成网站屏幕截图
如问题所述,在iOS设备上,如果用户在uitextfield中输入URL,我希望生成此URL的缩略图捕获。如何做到这一点?不幸的是,我不知道从哪里开始 当然,我可以这样做的一个方法是将这个URL发送到后端,并从那里获取图像截图。我知道如何使用python或php完成这类工作。但是我想避免到后端服务器的额外往返Objective c 在ios中生成网站屏幕截图,objective-c,ios,image,screenshot,Objective C,Ios,Image,Screenshot,如问题所述,在iOS设备上,如果用户在uitextfield中输入URL,我希望生成此URL的缩略图捕获。如何做到这一点?不幸的是,我不知道从哪里开始 当然,我可以这样做的一个方法是将这个URL发送到后端,并从那里获取图像截图。我知道如何使用python或php完成这类工作。但是我想避免到后端服务器的额外往返 我想要一些像-(uiimage*)截屏:(nsurl*)url根据你的问题,我想你以后会想要操纵生成的截屏。您将以编程方式添加UIWebView以加载所需的URL,然后对加载的网页进行快照
我想要一些像-
(uiimage*)截屏:(nsurl*)url
根据你的问题,我想你以后会想要操纵生成的截屏。您将以编程方式添加UIWebView以加载所需的URL,然后对加载的网页进行快照,然后删除UIWebView
以下是步骤
@property (weak, nonatomic) IBOutlet UIImageView *image_Thumbnail;
UIWebView* webView = [[UIWebView alloc] initWithFrame:self.view.frame];
webView.backgroundColor = [UIColor redColor];
NSURL *websiteUrl = [NSURL URLWithString:**webPageUrlString**];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:websiteUrl];
[webView loadRequest: urlRequest];
webView.delegate = self;
[self.view addSubview:webView];
@interface ViewController : UIViewController<UIWebViewDelegate>
}您熟悉opengl es吗?您很可能必须在服务器上执行此操作,因为在iOS上,您必须使用苹果不允许在其AppStore应用程序中访问的webkit。这可能有助于:
-(void)webViewDidFinishLoad:(UIWebView *)webView{
viewImage = [[UIImageView alloc] initWithFrame:self.view.frame];
viewImage.backgroundColor = [UIColor greenColor];
UIGraphicsBeginImageContext(webView.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
viewImage.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[webView setAlpha:0];
[webView removeFromSuperview];
[self.view addSubview:viewImage];