从Swift中的两个imageViews获取图像

时间:2015-07-21 10:22:55

标签: ios xcode swift uiimageview uiimage

我正在开发一个应用程序,其中我有一个区域,背景中有一个图像,另一个我可以移动的图像,如贴纸。

我的目标是创建并保存带有背景图像和"贴纸的图像。上面,使用Swift。这是我的功能,它允许我做我想要的(我的背景视图被称为" imageView",我的imageview贴纸被称为" jacques"):

    let newSize = CGSizeMake(imageView.image!.size.width, imageView.image!.size.height)

    UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0);

    imageView.image!.drawInRect(CGRectMake(0,0,newSize.width,newSize.height))

    let jacquesX = ((jacques.frame.origin.x - imageView.frame.origin.x) * (imageView.image?.size.width)!) / UIScreen.mainScreen().bounds.width
    let jacquesY = ((jacques.frame.origin.y - imageView.frame.origin.y) * (imageView.image?.size.height)!) / UIScreen.mainScreen().bounds.height
    let jacquesWidth: CGFloat = jacques.image!.size.width
    let jacquesHeight: CGFloat = jacques.image!.size.height       
    jacques.image!.drawInRect(CGRectMake(jacquesX, jacquesY, jacquesWidth, jacquesHeight))

    let newImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()

    UIGraphicsEndImageContext()

    UIImageWriteToSavedPhotosAlbum(newImage, self, "image:didFinishSavingWithError:contextInfo:", nil)

不幸的是,我的贴纸尺寸不合适。我认为它在图像中的位置很好,但它的尺寸太小了。我不知道我的解决方案是否是最好的解决方案,我对所有建议持开放态度。而且我是新手,所以如果你有良好的实践分享,我全心全意:)

1 个答案:

答案 0 :(得分:0)

您可以在故事板中执行此操作。首先,您可以根据需要调整图片大小。要创建贴纸效果,您只需添加imageView,将其调整为背景大小,然后将jacques放在故事板上,最后调整大小。