2
私の目標は、png画像から白い背景を削除することです。なぜcgimage.copyはswift 3で常にnilを返しますか?
最初に、私はpngを使用して削除する白い背景を持っています。
ここに私のコードです。
...
let imageRef = self.imageView.image?.cgImage?.copy(maskingColorComponents:[222,255,222,255,222,255,222,255])
self.imageView.image = UIImage(cgImage: imageRef, scale: self.imageView.image?.scale, orientation: self.imageView.image.imageOrientation)
...
これはうまくいきます。
そして私は画像を編集し、蛇口コードを使って編集した画像を受け取りました。
...
UIGraphicsBeginImageContext(self.imageView.image.frame.size)
self.imageView.layer.render(in: UIGraphicsGetCurrentContext()!)
self.imageView.image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
let imageRef = self.imageView.image?.cgImage?.copy(maskingColorComponents:[222,255,222,255,222,255,222,255])
// imageRef is always nil ???
self.imageView.image = UIImage(cgImage: imageRef, scale: self.imageView.image?.scale, orientation: self.imageView.image.imageOrientation)
...
は今のところ、私は正常に編集した画像を得ました。
次に、白い背景を削除するコードを追加しましたが、常にゼロになりました。
この問題を解決する方法はありますか?