元の画像よりも小さい画像の UIImageView があります。次に、他の多くの UIImageView をサブビューとしてメイン イメージビューに追加しました。また、多くのサブビュー (imageview) のスケーリングと回転も行います。ここで、元の画像からすべてのサブビュー画像を画像ビューに添付して画像を作成したいが、位置を維持したい。私の質問は、スケーリング後に多くのサブビュー画像を元の画像に描画して回転させる方法です。CGContextRotateCTM を使用しましたが、回転しすぎているようです。私のサンプルコードが
CGContextRef context = UIGraphicsGetCurrentContext();
[originalImage drawAtPoint:CGPointZero];
for(UIView *aView in [self.mainImageView subviews]){
float rate = 1000/self.mainImageView.frame.size.width;
if(aView.tag != DELETE_ATTACH_IMAGEVIEW_TAG && aView.tag != ROTATE_ZOOM_IMAGEVIEW_TAG){
CGRect rect = CGRectMake(aView.frame.origin.x*rate, aView.frame.origin.y*rate, aView.frame.size.width *rate, aView.frame.size.height*rate);
if([aView isKindOfClass:[CustomImageView class]]){
CustomImageView *temp = (CustomImageView *)aView;
float rotation = [temp rotation];
UIImage *tempImage= temp.image;
CGContextRotateCTM(context, rotation);
[tempImage drawInRect:rect];
}
}
}
originalImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();