【发布时间】:2013-08-13 18:38:53
【问题描述】:
我正在开发我想合并图像的应用程序,但是当我迭代调用该函数时,它花费了太多时间。请告诉我如何改进函数的响应。
- (UIImage *) addImageToImage:(UIImage *)img withImage2:(UIImage *)img2 andRect:(CGRect)cropRect withImageWidth:(int) width
{
CGSize size = CGSizeMake(width,40);
UIGraphicsBeginImageContext(size);
CGPoint pointImg1 = CGPointMake(0,0);
[img drawAtPoint:pointImg1];
CGPoint pointImg2 = cropRect.origin;
[img2 drawAtPoint: pointImg2];
UIImage* result = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return result;
}
这个函数在迭代中被调用了30到50次......所以我需要提高它的效率。
【问题讨论】:
-
您是将 50 张图片合并为一张还是将 100 张图片合并为 50 张?
-
是的...最后将 n 个图像合并为一个图像。
-
那么你应该传入一个数组而不是每个数组的开始/结束上下文。那些上下文到图像的调用往往很昂贵。
-
img或img2有变化吗?cropRect或width是否更改? -
是的,每次调用函数时,每个参数都会发生变化。