我有一些UIImage對象,我想組成一個UIImage,然後將其保存到磁盤。我沒有在屏幕上顯示它,所以在-drawRect中執行它沒有意義。如何將兩個UIImage對象合併到-drawRect之外的一個UIImage中?
有沒有辦法像-drawRect:
那樣創建類似的上下文,然後在那裏使用類似CGContextDrawImage(context, imgRect, img.CGImage);
的東西在那裏繪製UIImage對象?
我有一些UIImage對象,我想組成一個UIImage,然後將其保存到磁盤。我沒有在屏幕上顯示它,所以在-drawRect中執行它沒有意義。如何將兩個UIImage對象合併到-drawRect之外的一個UIImage中?
有沒有辦法像-drawRect:
那樣創建類似的上下文,然後在那裏使用類似CGContextDrawImage(context, imgRect, img.CGImage);
的東西在那裏繪製UIImage對象?
我相信你想用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);
CGContextRefs可以隨時創建,這可以讓你做所有類型的圖像操作。
使用CGBitmapContextCreate創建上下文和CGBitmapContextCreateImage以獲得最終結果。
太棒了!我會嘗試!非常感謝=) – 2011-05-29 20:54:11