我正在开发一个应用程序,其中有一个区域,其中有一个图像在背景中,还有另一个我可以移动的图像,比如贴纸。
我的目标是使用 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/