Objective c 相对缩放图像视图

Objective c 相对缩放图像视图,objective-c,cocoa-touch,ios,uiimageview,scale,Objective C,Cocoa Touch,Ios,Uiimageview,Scale,我有两个UIImageView,我已经设法合并并保存了它们。但我希望叠加图像的比例和位置与所选图像的比例相对应。因此,您在屏幕上看到的UIImageView看起来与它保存的UIImageView相同 - (UIImage *)combineImages{ UIGraphicsBeginImageContext(CGSizeMake(theimageView.image.size.width,theimageView.image.size.height)); // Draw image1 [t

我有两个UIImageView,我已经设法合并并保存了它们。但我希望叠加图像的比例和位置与所选图像的比例相对应。因此,您在屏幕上看到的UIImageView看起来与它保存的UIImageView相同

- (UIImage *)combineImages{

UIGraphicsBeginImageContext(CGSizeMake(theimageView.image.size.width,theimageView.image.size.height));

// Draw image1
[theimageView.image drawInRect:CGRectMake(0,0, theimageView.image.size.width,theimageView.image.size.height)];

// Draw image2
[Birdie.image drawInRect:CGRectMake(Birdie.center.x, Birdie.center.y, (theimageView.image.size.width / 2), (theimageView.image.size.height / 2))];

UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return resultingImage;
}

ImageView和Birdie是两个UIImageView。 提前感谢

请试试这个

  - (UIImage *)combineImages{



    // Draw image1
    [theimageView.image drawInRect:CGRectMake(0,0, theimageView.image.size.width,theimageView.image.size.height)];

    // Draw image2
    [Birdie.image drawInRect:CGRectMake(Birdie.frame.origin.x, Birdie.frame.origin.y, Birdie.frame.size.width, Birdie.frame.size.height)];
    //have you added Birdie over theimageView if not than do this. If your size is already set as you want then there is no need for above two lines of drawInRect.
    UIGraphicsBeginImageContext(theimageView.bounds.size);
    [theimageView.layer renderInContext:UIGraphicsGetCurrentContext()];

    UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return resultingImage;
    }

谢谢,

请再清理一下。是否希望将imageView的大小与要添加新视图的BaseMageView的大小相同?假设onebaseImageView的宽度为20,而另一个为10。加起来等于30,但你想在20中显示它。是吗?我有两个视图,第一个像背景。你必须自己选择。这个可以是各种尺寸。第二个UIImageView只是具有固定大小的标准图像。你可以在屏幕上移动第二个,它覆盖了背景。此图像显示在UIImageView中,但会缩小以适合屏幕。您可以将第二个图像拖到它上面,我希望保存的图像具有所选背景的大小,并且第二个图像与视图位于同一位置。听起来很复杂,但它就像一些“发型”应用程序等。谢谢你的回答,但当我保存图像时,它的大小与选择图像视图的原始UIImageView不同,并且没有添加从Birdie中选择的第二个图像。提前感谢!蒂姆,你在哪里加小鸟?在originalImageview还是self.view?在我看来,你应该把小鸟放在originalImageview上,这样你就不需要drawRect的前两行了。如果你看到我在那里评论了一些东西。请回答并尝试这种方法。你是说原始图像视图还是self.view?很抱歉,我是个新手,所以我不明白整件事。你是说我把小鸟放在界面生成器里了还是。。?提前感谢!我的问题是哪一种观点是小鸟的超观点?请看在xib中,也请尝试注释我们调用drawRect方法的前两行代码。据我所知,它没有superview,我不知道在de-xib中到底在哪里可以找到它。如果我把整个代码从.h和.m发送给你会更容易吗?或者是锡伯银行的照片?我有几个按钮,每个按钮都会调用UIImageView上另一个名为Birdie的图像。此UIImageView覆盖了ImageView,我希望保存的图像与屏幕匹配。提前谢谢。