如何将两个UIImage对象组合成-drawRect外的一个UIImage:?

Pro*_*ber 2 iphone drawing core-graphics uiimage ios

我有一些UIImage对象,我想组成一个UIImage,然后将其保存到磁盘.我没有在屏幕上显示这个,所以在-drawRect中这样做是没有意义的.

有没有办法创建类似于的上下文-drawRect:,然后使用类似的东西在那里绘制UIImage对象CGContextDrawImage(context, imgRect, img.CGImage);

tja*_*att 5

我相信你想使用CGContextRef在所需的位置绘制所有图像,然后获得结果图像.代码看起来像这样:

CGContextRef context = CGBitmapContextCreate(nil, desired_width, desired_height, bitsPerComponent, bytesPerRow, CGColorSpaceCreateDeviceRGB(), CGImageGetBitmapInfo(image));
//This code is to ilustrate what you have to do:
for(image in your Images) {

    CGContextDrawImage(context, CGRectMake(currentImage.frame.origin.x, currentImage.frame.origin.y, CGImageGetWidth(currentImage), CGImageGetHeight(currentImage), currentImage);
}

CGImageRef mergeResult  = CGBitmapContextCreateImage(context);

mergedImage = [[UIImage alloc] initWithCGImage:mergeResult];
CGContextRelease(context);
CGImageRelease(mergeResult);
Run Code Online (Sandbox Code Playgroud)