ios - 从 Swift 中的两个 imageView 获取图像

标签 ios xcode swift uiimageview uiimage

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

我的目标是使用 Swift 创建并保存带有背景图像和上方“贴纸”的图像。这是我的功能,它允许我做我想做的事(我的背景 View 称为“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)

不幸的是,我的贴纸尺寸不合适。我认为它在图像中的位置很好,但它的尺寸太小了。我不知道我的解决方案是否是最好的,我愿意接受所有建议。我是新手,所以如果您有好的做法可以分享,我洗耳恭听 :)

最佳答案

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

关于ios - 从 Swift 中的两个 imageView 获取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31536418/

相关文章:

ios - 在 iOS7 上关闭 iCloud for Core Data 时出错

ios - NSArray 键 => 值,

swift - 处理苹果引用文档 ://url scheme in web view

ios - 使用核心数据时更新 Spotlight 搜索索引?

ios - UIView 约束在 iPad 上不显示相同的结果

ios - 无法连接到苹果电视! "Making apple tv ready for development"显示对话框

ios - Xcode:针对特定语言导出到 XLIFF,而不是 "base"

swift - Swift 2.0 中的异常(exception)。为什么是 'do' ?

ios - 自动布局视觉格式语言

ios - 使用 cornerRadius 获取 UIView 中矩形的大小