2011-05-17 1 views

Répondre

2

culture a finalement réussi mis en rotation mise à l'échelle d'image.

1) Nécessité de recadrer toute l'image mise à l'échelle ou pivotée.

2) rogner le rect de l'image recadrée. vous obtiendrez l'image recadrée finale mise à l'échelle ou tournée.

Je publie un exemple de code, cela peut être utile pour d'autres.

UIGraphicsBeginImageContextWithOptions(self.view.frame.size, NO, 0.0); 
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 


CGRect rect = CGRectMake(100,100 ,200, 200);//Rect we need from scaled or rotated image. 
CGImageRef cropped = CGImageCreateWithImageInRect(viewImage.CGImage, rect); 
UIImage *img = [UIImage imageWithCGImage:cropped]; 
CGImageRelease(cropped); 

Merci.

+0

Non. Ça ne marche pas. – Mercurial

+0

Cela fonctionnera parfaitement .. s'il vous plaît partager votre requierment. – Madhu

+0

Votre image est-elle pivotée ou la vue? Dans mon cas, l'image est pivotée et mise à l'échelle, pas l'image elle-même. – Mercurial

0

Essayez ceci (si vous avez besoin de rogner les coins):

UIImageView *imageSubview = [[UIImageView alloc] initWithFrame:CGRectMake(50.0f, 5.0f,80.0f, 60.0f)]; 

[imageSubview setImage:actualImage]; 
[imageSubview setContentMode:UIViewContentModeScaleToFill]; 
[imageSubview.layer setCornerRadius:10.0]; 
[imageSubview.layer setMasksToBounds:YES]; 
[cell addSubview:imageSubview]; 

augmenter Juste le rayon et vous le faire cercle, ou marcher sur ce chemin que vous obtiendrez votre solution réelle :)

.
+0

Merci pour la mise à jour. J'ai besoin du milieu de l'image, ou n'importe où dans la vue d'image comme la propriété d'édition d'image de sélecteur d'image! – Madhu

0
UIImage *myImage = [UIImage imageNamed:@"photo.png"]; 

CGRect cropRect = CGRectMake(0.0, 0.0, 320.0, 44.0)); 
CGImageRef croppedImage = CGImageCreateWithImageInRect([myImage CGImage], cropRect); 

UIImageView *myImageView = [[UIImageView alloc] initWithFrame:cropRect]; 
[myImageView setImage:[UIImage imageWithCGImage:croppedImage]]; 

CGImageRelease(croppedImage); 

sa hauteur pour culture particulière et la largeur

+0

Merci pour la mise à jour. Mais déjà travaillé avec la logique, travaille avec une image fixe. Une fois l'image mise à l'échelle ou en rotation, elle ne fonctionne pas et renvoie toujours la même image. CGRect rect = CGRectMake ([centre de temp] .x-125, [centre de temp]] y-200, 200, 200); CGImageRef recadrée = CGImageCreateWithImageInRect (imageView.image.CGImage, rect); UIImage * img = [UIImage imageWithCGImage: recadrée]; // [UIImage imageWithCGImage: échelle recadrée: imageView.image.scale orientation: imageView.image.imageOrientation]; CGImageRelease (recadrée); – Madhu

Questions connexes