我想合并两个UIImage,但我遇到了一些困难。我正在玩一个绘图应用程序,当用户完成时,用户将最终绘图与他们想要绘制的原始图像合并。
topImage和bottomImage都是最终图像,需要与相应的aspectFit aka比例合并。
然后用户最终可以将两个图像组合成一个,但是底部图像的UIImage的大小会有所不同。
我一直在尝试合并它们而不会影响newImage或宽高比(合适)
设置:
我有两个UIImageView设置为(宽度:310,高度:400)
bottomImageView
bottomImage是JPEG:size(600,800)//其他图像的比例会有所不同
topImageView
topImage是PNG(透明度):size(310,400)
作为Facebook帖子的一部分的bottomImage是用户理论上会画出的#34;。 topImage(红线/圆圈)是应该与底部图像合并的内容。
如何在不改变UIImage的大小的情况下将它们合并在一起?
我尝试了两种不同的方式但无济于事。
方式1:
let bottomImageView: UIImageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 310, height: 400))
let topImageView: UIImageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 310, height: 400))
bottomImageView.image = topImage
topImageView.image = bottomImage
bottomImageView.contentMode = .ScaleAspectFit
topImageView.contentMode = .ScaleAspectFit
UIGraphicsBeginImageContext(bottomImageView.frame.size)
bottomImageView.image?.drawInRect(CGRect(x: 0, y: 0, width: bottomImageView.frame.size.width, height: bottomImageView.frame.size.height), blendMode: CGBlendMode.Normal, alpha: 1.0)
topImageView.image?.drawInRect(CGRect(x:0, y: 0, width: topImageView.frame.size.width, height: topImageView.frame.size.height), blendMode: CGBlendMode.Normal, alpha: 1.0)
let newImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsGetImageFromCurrentImageContext()
方式1,不起作用,因为它创建了一个新的画布(300,400),最终改变了扭曲我的bottomImage和topImage的大小。
方式2:
mov [ebx+ecx*4], eax
方式2:我认为通过放置两个UIImageViews然后按下"他们在一起会工作,但它最终扭曲我的newImage像方式1。
是否可以在不影响newImage外观的情况下将它们组合起来?