samedi 13 octobre 2012

Tutorial iOS - Réduite la taille d'une UIImage

UIImage : réduction de la taille d'une l'image

En développant vos applications iOS il est fréquent de devoir réduire la taille d'une image à afficher.

En effet afficher quelques images de grandes tailles dans une UIImageView cause des crashs (cf :  doc Apple(tm)).
Une bonne pratique est de se limiter à un affichage des images à 1024x768 max.

Bref à partir d'une image prise de l'appareil photo ou autre, voici un algorithme de réduction de la taille d'une UIImage :

// Algorithme de réduction de la taille d'une image
+(UIImage *) reductionImageSize :(UIImage*)imageOriginale :(CGFloat) coefficientReduction {
    
    // transformation de l'image, réduction
    CGSize destinationSize = CGSizeMake( imageOriginale.size.width / coefficientReduction,  imageOriginale.size.height / coefficientReduction );
    
    UIGraphicsBeginImageContext( destinationSize );
    [imageOriginale drawInRect:CGRectMake( 0., 0., destinationSize.width, destinationSize.height)];
UIImage * newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    
    return newImage;
}

Le premier paramètre en entrée est imageOriginal.
Le second est le coefficient de réduction.

Aucun commentaire:

Enregistrer un commentaire