0
我有一个简单的iPad图像拼贴应用程序的问题。我有一个UIImageView,可以拖放不同的UIImageView。拖动的视图可以旋转和拉伸。当用户完成对图像的编辑后,我会将所有图像合并到最终图像上。我的解决方案已经使用UIGraphics并通过所有子视图绘制大图片,然后循环和借鉴他们的背景下:以上如何合并图像并保持原始转换
- (UIImage*)mergeImages
{
CGSize imageSize = imageView.frame.size;
UIGraphicsBeginImageContext(imageSize);
[imageView.image drawInRect:CGRectMake(0, 0, imageSize.width, imageSize.height)];
[[imageView subviews] enumerateObjectsUsingBlock:^(id object, NSUInteger index, BOOL *stop) {
UIImage *imageOriginal = ((UIImageView*)object).image;
CGRect rect = ((UIImageView*)object).frame;
UIImage *imageToAdd = [self scaleImage:imageOriginal :rect.size];
// Find the w/h ratioes
float widthRatio = rect.size.width/imageOriginal.size.width;
float heightRatio = rect.size.height/imageOriginal.size.height;
// Calculate point to draw at
CGPoint pointToDrawAt;
if (widthRatio > heightRatio)
pointToDrawAt = CGPointMake(rect.origin.x + (rect.size.width/2) - (imageToAdd.size.width/2), rect.origin.y);
else
pointToDrawAt = CGPointMake(rect.origin.x, rect.origin.y + (rect.size.width/2) - (imageToAdd.size.height/2));
[imageToAdd drawAtPoint:pointToDrawAt];
}];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// Save image in photogalery
UIImageWriteToSavedPhotosAlbum(newImage, nil, nil, nil);
return newImage;
}
工作的罚款,只要图像不旋转。所以我的问题是:
有没有一种方法,我可以从子视图中找到旋转角度,还是我必须继承UIView并使其成为一个属性?或者还有另外一种方法可以合并图像并获得图形特定的属性,如角度和过滤器?
如果我可以帮助进一步的代码或任何只是评论。并提前感谢:)