天天看點

通過繪圖将兩個圖檔拼接在一起

- (UIImage *)addImage:(UIImage *)image1 toImage:(UIImage *)image2 {
    //設定繪圖區域的大小
    CGSize size= CGSizeMake( image2.size.width,image2.size.height + image1.size.height);
    WDLog(@"%f,%f",size.width,size.height);
    UIGraphicsBeginImageContext(size);
    
    // Draw image1 根據實際圖檔大小設定
    [image2 drawInRect:CGRectMake(0, 0, image2.size.width, image2.size.height)];
    
    // Draw image2 根據實際圖檔大小設定
    [image1 drawInRect:CGRectMake(0, image2.size.height, image1.size.width, image1.size.height)];
    
    UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();
    
    UIGraphicsEndImageContext();
    
    return resultingImage;
}           

合成圖檔的兩種方法,思路都是一樣的

// Image+Image ICON

- (UIImage *)addImage:(UIImageView *)image1 toImage:(UIImageView *)image2 {

CGSize size= CGSizeMake( image1.frame.size.width,image1.frame.size.height);

UIGraphicsBeginImageContext(size);

    // Draw image1

[image2.image drawInRect:CGRectMake(6, 6, image2.frame.size.width, image2.frame.size.height)];

// Draw image2    

[image1.image drawInRect:CGRectMake(0, 0, image1.frame.size.width, image1.frame.size.height)];

UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return resultingImage;

}

- (UIImage *)addImageview:(UIImage *)image1 toImage:(UIImage *)image2 {

CGSize size= CGSizeMake( image1.size.width,image1.size.height);

UIGraphicsBeginImageContext(size);

    // Draw image1

[image2 drawInRect:CGRectMake(4.5, 6, 77, 77)];

// Draw image2    

[image1 drawInRect:CGRectMake(0, 0, image1.size.width, image1.size.height)];

UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return resultingImage;

}

- (UIImage *) combine:(UIImage*)leftImage :(UIImage*)rightImage {  
        CGFloat width = leftImage.size.width * 2;  
        CGFloat height = leftImage.size.height;  
        CGSize offScreenSize = CGSizeMake(width, height);  
          
        UIGraphicsBeginImageContext(offScreenSize);  
          
        CGRect rect = CGRectMake(0, 0, width/2, height);  
        [leftImage drawInRect:rect];  
          
        rect.origin.x += width/2;  
        [rightImage drawInRect:rect];  
          
        UIImage* imagez = UIGraphicsGetImageFromCurrentImageContext();  
          
        UIGraphicsEndImageContext();  
          
        return imagez;  
    }             

繼續閱讀