2012-03-28 3 views

Antwort

1

können Sie versuchen, es berechnen, indem Sie sich selbst:

//Your image 
UIImage *image; 
//Your imageView; 
UIImageView *imageView; 
int width, height; 
float aspectRatio; 
if (image.size.height > image.size.width) 
{ 
    height = imageView.frame.size.height; 
    aspectRatio = image.size.height/height; 
    width = image.size.width/aspectRatio; 
} 
else 
{ 
    width = imageView.frame.size.width; 
    aspectRatio = image.size.width/width; 
    height = image.size.height/aspectRatio; 
} 
+0

Ich glaube, das wird nur für quadratische Bildansichten funktionieren. Beispielsweise; eine Bildansicht, die 320 x 416 ist. Ein Bild könnte 640 x 820 sein. Dies würde verkleinert und die neue Breite wäre 320, während die Höhe ein wenig von 416 abweichen würde - nicht die volle Höhe der Bildansicht. Ich arbeite an einer robusteren Lösung. – Patrick

2
CGSize size=CGSizeMake(79, 84);//set the width and height 
      UIGraphicsBeginImageContext(size); 
      [image drawInRect:CGRectMake(0,0,size.width,size.height)]; 
      UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext(); 
//here is the scaled image which has been changed to the size specified 
      UIGraphicsEndImageContext(); 

Das funktioniert sicher und nicht vergessen Quartz FrameWork zu importieren ..

ein Haben Glücklich Coding (^_^) ....

Verwandte Themen