2012-03-13 12 views
1

UIViewの内容をキャプチャしました。コンテンツをキャプチャする方法はたくさんあります。
問題は、ビューのサイズが大きくなりすぎると、膨大なメモリが必要になるため、アプリケーションがクラッシュすることです。
生画像データ(バイト単位での演算を実行する)を1つのファイルにマージし、その画像を作成する可能性はありますか?複数のイメージを結合して1つのイメージを取得する

答えて

0
`enter code here`Merging two images to create one single image file 

Suppose we have two images with name file1.png and file2.png The code below merges two images. 

@implementation LandscapeImage 
- (void) createLandscapeImages 
{ 
    CGSize offScreenSize = CGSizeMake(2048, 1380); 
    UIGraphicsBeginImageContext(offScreenSize); 
//Fetch First image and draw in rect 
    UIImage* imageLeft = [UIImage imageNamed:@"file1.png"]; 
    CGRect rect = CGRectMake(0, 0, 1024, 1380); 
    [imageLeft drawInRect:rect]; 
    [imageLeft release]; 

//Fetch second image and draw in rect  
    UIImage* imageRight = [UIImage imageNamed:@"file2.jpg"]; 
    rect.origin.x += 1024; 
    [imageRight drawInRect:rect];  
    [imageRight release]; 

    UIImage* imagez = UIGraphicsGetImageFromCurrentImageContext();// it will returns an image based on the contents of the current bitmap-based graphics context. 
    if (imageLeft && imageRight) 
    { 
    //Write code for save imagez in local cache 
    } 
    UIGraphicsEndImageContext(); 
} 
@end 
+1

これは、ビュー全体を一度にキャプチャするのと同じです。それはメモリ内のすべてをもたらし、大規模なビューの場合、メモリは多く扱われるようになります。 –

関連する問題