0
在应用程序中,我需要从UIView中取出图像。该视图的框架为W 1800和H 1200.performSelectorInBackground并执行UI操作
除非此活动完成,否则此活动需要大量时间和屏幕填充。
我需要在后台执行此活动,以便用户可以继续其他事情。
什么是达到此目的的最佳方法。我试过
- (void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg
但是应用程序崩溃,因为它不允许用户操作。如果我去的话
- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait
那里的屏幕会出现,除非此活动完成。
我需要在后台执行下列活动
-(void) PrepareImageData
{
UIImage* frontViewImage = [self PreparefrontImage:[self GetSavedFrontImage]];
[self SaveImageinDocumentWithName:frontViewImage FileName:@"frontview.png"];
UIImage* rearViewImage = [self PrepareBackImage:[self GetSavedBackImage]];;
[self SaveImageinDocumentWithName:rearViewImage FileName:@"backview.png"];
}
-(UIImage*) GetSavedBackImage
{
UIImage* background;
UIImage* messageTextview;
UIImage* toTextView;
UIImage* fromTextView;
background = [self GetImageFromView:self toRect:self.frame];
CGRect rect = CGRectMake(0, 0, 1800, 1200);
UIGraphicsBeginImageContext(rect.size);
CGPoint backgroundPoint = CGPointMake(0,0);
[background drawAtPoint:backgroundPoint];
UIImage* backImage = UIGraphicsGetImageFromCurrentImageContex();
UIGraphicsEndImageContext();
return backImage;
}
- (UIImage *) GetImageFromView:(UIView *)aView toRect:(CGRect)aRect
{
CGSize pageSize = aRect.size;
UIGraphicsBeginImageContext(pageSize);
[aView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
请帮我在这。
谢谢。
您需要输入更多与您正在尝试实现的内容相关的代码 – 2010-11-23 07:04:26
添加了更多代码。 – 2010-11-23 07:14:03