J'essaie de couper une région d'un J'ai élaboré ce code de certains extraits: p> 'Voir' est le Le code fonctionne sans problème, cependant est un peu lent. Je crois que certaines performances pourraient être gagnées en prenant juste la partie de l'écran directement à l'étape a. P> Je recherche quelque chose comme Je n'ai encore rien trouvé encore :(, aidez-moi s'il vous plaît si vous connaissez une alternative. P> P> uiview code>, dans un
uiImage code> pour une réutilisation ultérieure.
uIView code> que je suis coupant et
_finalimage code> est le
uiimage Code> Je veux. p>
Renderincontext: Sassrect: code> ou
ou
ou
UigraphiquegetimagefromcurrentImagecontextextextextex () code> hehe. P>
3 Réponses :
Vous pouvez essayer de rasteriser l'UIView d'abord:
view.layer.shouldRasterize = YES;
Le contexte "principal" que je pense. Je crée un nouveau contexte sur le fil principal. : S
Cette méthode se clipse une région de la vue en utilisant moins de mémoire et de la Temps CPU:
Version SWIFT de la solution @ Phix23. Ajout d'échelle
func clippedImageForRect(clipRect: CGRect, inView view: UIView) -> UIImage { UIGraphicsBeginImageContextWithOptions(clipRect.size, true, UIScreen.mainScreen().scale); let ctx = UIGraphicsGetCurrentContext(); CGContextTranslateCTM(ctx, -clipRect.origin.x, -clipRect.origin.y); view.layer.renderInContext(ctx!) let img = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return img }
Pourriez-vous reformater? difficile à lire