2016-05-04 11 views
-1

私は新しいサイズにスケールダウンしたい画像を持っています。UIImageはより小さなサイズに縮小します

enter image description here

Iが縮小する場合、これを正方形の直径=側の円と正方形であり、白い背景色があります。まったく同じ形の画像を取得するにはどうすればよいですか?問題の

+ (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

多分これを試してみてください。 http://stackoverflow.com/a/537697/2518285 –

+0

それは役に立ちません。まだ正方形になります。 – Legolas

+0

実際の問題は、クリアな背景の代わりに白色ですか? – phi

答えて

0

理由は、画像を右スケーリングの前にJPEGとして保存されたことだった、とJPEGは透明度をサポートしていません。

PNGとして保存するのが正しい方法でした。

関連する問題