2016-05-04 22 views
-1

Also ich habe ein Bild, das ein Kreis ist, den ich auf eine neue Größe verkleinern möchte.UIImage verkleinern auf kleinere Größe

enter image description here

Wenn ich verkleinere, ist die resultierende ein Quadrat mit dem Kreis mit Durchmesser = Seite des Platzes, und es gibt eine weiße Hintergrundfarbe. Wie bekomme ich ein Bild, das genau die gleiche Form hat?

+ (UIImage *)imageWithImage:(UIImage *)image customScaledToSize:(CGSize)newSize 
{ 
//UIGraphicsBeginImageContext(newSize); 
UIGraphicsBeginImageContextWithOptions(newSize, NO, [UIScreen mainScreen].scale); 

[[UIColor clearColor] set]; 
UIRectFill(CGRectMake(0, 0, newSize.width, newSize.height)); 

[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)]; 
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
return newImage; 
} 
+0

Vielleicht versuchen Sie das? http://StackOverflow.com/a/537697/2518285 –

+0

Das hilft nicht. Es wäre immer noch ein Quadrat. – Legolas

+0

Ihr tatsächliches Problem ist die weiße Farbe anstelle von klarem Hintergrund? – phi

Antwort

0

Der Grund für das Problem war, dass das Bild direkt vor der Skalierung als JPEG gespeichert wurde und JPEG keine Transparenz unterstützt.

Speichern als PNG war der richtige Weg.

Verwandte Themen