iphone 4s – UIImage CGImage image dimensions

J'ai un crash qui ne se produit que sur 4S (pas sur 3GS). Je doute que ce soit à cause de @ 2x. Fondamentalement, je reçois des octets bruts d'image et de manipuler. Voici la question que j'ai.

Je charge une image comme mentionné dans l'exemple de code ci-dessous. À la fin, uiWidth devrait être 2000 et cgwidth devrait être 2000. Correct? (Serait-il toujours vrai si l'image est chargée à partir de rouleaux de camera? Ou son autoscaling et uiWidth sera 4000?)

//test.jpg is 2000x 1500 pixels. NSSsortingng *fileName = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"jpg"]; UIImage *image = [UIImage imageWithContentsOfFile:fileName]; int uiWidth = image.size.width; CGImageRef cgimg = image.CGImage; int cgWidth = CGImageGetWidth(cgimg); 

Merci de votre aide.

La size indiquée par UIImage est en points, pas en pixels. Vous devez prendre en count la propriété scale d' UIImage .

En d'autres termes, si test.jpg est 1000×1000 alors UIImage.size rapportera 1000×1000. Si [email protected] est 2000×2000 alors UIImage.size indiquera également 1000×1000. Mais dans le 2ème cas, UIImage.scale rapportera 2.

CGImageGetWidth indique sa largeur en pixels et non en points.