2010-10-28 7 views
3

Je veux une fonctionnalité dans mon application iPhone qui va convertir l'image à son miroir.mirror image + iphone

Comme s'il y avait une image de l'homme avec la main gauche vers le haut Alors l'image convertie doit avoir le même homme avec sa main droite vers le haut.

Tout code ou lien sera vraiment apprécié

Merci d'avance pour toute aide.

+1

En réponse si Westsiders au lieu de myView si nous transformons myImage au moment de l'extraction à partir du répertoire des documents alors nous allons obtenir exactement ce que nous voulons ... (Note: l'image ne sera pas en Orignal affectée avec ceci seulement nous pouvons voir l'image reflétée tout au long de l'application) CODAGE HEUREUX ... –

Répondre

3

Vous pouvez essayer cette

myImageView.transform = CGAffineTransformMake(-1,0,0,1,0,0); 

Désolé je ne peux pas être plus d'aide. Il y a quelque temps que je l'ai utilisé horizontalement retourner un UIView, donc je suis un peu rouillé sur les détails.

+0

Bonjour westsider, Merci pour la réponse Mais je ne veux pas transformer ma vue mais je veux transformer l'image sauvée dans le répertoire de documents. Une idée? –

+0

Vous pouvez jeter un oeil à . Ce n'est pas quelque chose que j'ai fait - mais la «réponse» et les commentaires de suivi semblent utiles. – westsider

+0

J'ai mis à jour la réponse et cela a fonctionné comme un charme .. Merci –

0

// convert CIImage to unsigned char* 
NSBitmapImageRep * bitRep = [[NSBitmapImageRep alloc] initWithCIImage:sourceImage]; 
unsigned char * pixels = (unsigned char *)[bitRep bitmapData]; 

// find mirrored pixel, for 1D pixels array 
// for 2D array it will be something like: 
// pixels2D[x,y] = pixels2D[Image.width-1-x,y] 

// convert modified unsigned char* back to CIImage 
CGColorSpaceRef colorSpaceToUse = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB); 
NSData *_pixelsData = [NSData dataWithBytesNoCopy:pixels length:(sizeof(unsigned char)*4*Image.Width*Image.Height) freeWhenDone:YES ]; 
CIImage *_dataCIImage = [[[CIImage alloc] initWithBitmapData:_pixelsData bytesPerRow:(Image.Width*4*sizeof(unsigned char)) size:CGSizeMake(Image.Width,Image.Height) format:kCIFormatARGB8 colorSpace:colorSpaceToUse] autorelease]; 
+0

Code d'exemple ObjC ajouté, je viens d'ignorer la recherche de pixels en miroir dans un tableau de pixels 1D. Je pense que vous êtes assez intelligent pour le gérer vous-même :) –

+0

Vous devriez ajouter le framework AppKit pour que cet exemple fonctionne. Mais je ne sais pas ce cadre est disponible sur iPhone. –

1
myView.transform = CGAffineTransformMake(-1,0,0,-1,0,0);