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