合成两个图像后,合成图像的尺寸非常大。我该如何解决?

时间:2018-08-05 07:47:22

标签: ios uiimage nsdata cgcontextdrawimage cgbitmapcontextcreate

资源:两张6M大小的图像。

过程:合并两个图像

结果:获取2300万尺寸的图像

问题:

  1. 为什么我得到这么大的照片?
  2. 我可以限制构图的大小吗?例如,设置属性?

这是我的代码:


    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
    CGContextRef contextRef = CGBitmapContextCreate(_bytes, width, height, 8, 4 * width, colorSpace, kCGImageAlphaPremultipliedLast);

CGColorSpaceRelease(colorSpace); // CGContextSetInterpolationQuality(contextRef, 1); NSInteger currentHeight = 0; for (int i = 0; i<count; i++) { UIImage *tempImage = [UIImage imageWithContentsOfFile:_imageList[i]]; NSInteger tempHeight = tempImage.size.height * width / tempImage.size.width; CGContextDrawImage(contextRef, CGRectMake(0, currentHeight, width, tempHeight), tempImage.CGImage); currentHeight += tempHeight; } CGImageRef imageRef = CGBitmapContextCreateImage(contextRef); UIImage *result = [UIImage imageWithCGImage:imageRef]; CGImageRelease(imageRef); CGContextRelease(contextRef);

0 个答案:

没有答案