我正在开发一个应用程序,其中我有一个区域,背景中有一个图像,另一个我可以移动的图像,如贴纸。
我的目标是创建并保存带有背景图像和"贴纸的图像。上面,使用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)
不幸的是,我的贴纸尺寸不合适。我认为它在图像中的位置很好,但它的尺寸太小了。我不知道我的解决方案是否是最好的解决方案,我对所有建议持开放态度。而且我是新手,所以如果你有良好的实践分享,我全心全意:)
答案 0 :(得分:0)
您可以在故事板中执行此操作。首先,您可以根据需要调整图片大小。要创建贴纸效果,您只需添加imageView,将其调整为背景大小,然后将jacques放在故事板上,最后调整大小。