J'ai un CGContextRef et j'ai fait mes trucs de dessin avec le contexte bitmap.Comment obtenir UIImage à partir d'un CGContextRef?
Maintenant, je voudrais avoir un appel de fonction pour obtenir un UIImage pour le CGContextRef. Comment je fais ça?
J'ai un CGContextRef et j'ai fait mes trucs de dessin avec le contexte bitmap.Comment obtenir UIImage à partir d'un CGContextRef?
Maintenant, je voudrais avoir un appel de fonction pour obtenir un UIImage pour le CGContextRef. Comment je fais ça?
Quelque chose comme ceci:
-(UIImage*)doImageOperation
{
// Do your stuff here
CGImageRef imgRef = CGBitmapContextCreateImage(context);
UIImage* img = [UIImage imageWithCGImage:imgRef];
CGImageRelease(imgRef);
CGContextRelease(context);
return img;
}
Mise à jour pour Swift 3, c'est une fonction pratique qui prend un CGContext et retourne un UIImage. Notez que vous n'avez plus besoin de libérer le contexte lorsque vous en avez fini avec Swift 3.
func imageFromContext(_ context: CGContext) -> UIImage? {
guard let cgImage = context.makeImage() else { return nil }
return UIImage.init(cgImage: cgImage)
}
Merci! Avec cela, j'ai créé une méthode pratique 'UIImage * UIGraphicsGetImageFromImageContext (contexte CGContextRef)' à utiliser. – samwize
Cela ne fonctionnera que si 'context' est un CGBitmapContext; il ne fonctionnera probablement pas sur un autre type de CGContext. @samwize: Vous devriez le nommer quelque chose de différent. Les préfixes sont des espaces de noms par convention; Apple peut ajouter une fonction nommée 'UIGraphicsGetImageFromImageContext', publique ou privée, à tout moment, et si c'est le cas, le vôtre causera des problèmes. Utilisez votre propre préfixe. –
Merci pour le conseil! – samwize