私は、ユーザーが別のイメージの上に1つのイメージを重ね合わせることができるはずのiOSアプリケーションを作っています。ユーザーは、imageViewというUIImageViewに保存される背景イメージを選択できます。ユーザは、その画像の上に重ねられる画像を決定することができ、画像はimageTwoというUIImageViewに格納される。その後、ユーザーはimageTwoを移動してサイズ変更することができます。しかし、私はそれらの画像ビューを1つの画像にマージしてダウンロードしたいと思っています。異なるサイズの2つのUIImageViewをマージする
私は現在、画像をダウンロードしようとするには、以下の機能を使用しています:
@IBAction func downloadImage(_ sender: Any) {
let bottomImage:UIImage = imageView.image!
let topImage:UIImage = imageTwo.image!
let mySize = CGSize(width: (imageView.frame.size.width), height:(imageView.frame.size.height))
UIGraphicsBeginImageContextWithOptions(mySize, false, 1)
bottomImage.draw(in: CGRect(x: 0,y:0,width: mySize.width,height: mySize.height))
topImage.draw(in: CGRect(x: imageTwo.frame.origin.x ,y: imageTwo.frame.origin.y , width: (imageTwo.frame.size.width),height:(imageTwo.frame.size.height)), blendMode:CGBlendMode.normal, alpha:1.0)
let newImage:UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIImageWriteToSavedPhotosAlbum(newImage, nil,nil,nil)
UIGraphicsEndImageContext()
}
しかし、それは非常にうまく機能しません。私は上から私の機能を使用して画像をダウンロードする際に、しかし Image viewed from app
、背景画像が引き伸ばさルックスとtopImage /鳥が正しい位置にありません: これは、画像は私のアプリでどのように見えるかですDownloaded image
誰でもこのタスクを達成するための簡単な方法や、上から自分のコードをどのように変更する必要があるかについてのアドバイスはありますか?私はここに誰かを読んで、UIImageViewsを自分のビューに入れることを提案しましたが、それは非常に扱いにくいものでした。...