2012-04-01 39 views
8

Tablo görüntüleme hücresinde bir görüntü gösteriyorum (Resim adı plist olarak kaydedildi). hücreye ayarlamadan önce, ben görüntüyü yeniden boyutlandırma sonra, kalite de retina ekranda bozulmuş oluyor,
imageSize = CGSizeMake(32, 32);IOS: Görüntü kalitesini düşürmeden görüntü boyutunu azaltın

görüntüyü yeniden boyutlandırma Ama duyuyorum.

enter image description here

her iki görüntü yansıtmak için (yani 1 x ve 2x @) ilave vardır.

Bu, görüntü boyutunu 32 x 32'ye küçültme biçimimdir.

+ (UIImage *)scale:(UIImage *)image toSize:(CGSize)size 
{ 
UIGraphicsBeginImageContext(size); 
[image drawInRect:CGRectMake(0, 0, size.width, size.height)]; 
UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
return scaledImage; 
} 

Bu konuda herhangi bir işaretçi çok takdir edilmektedir.

Teşekkür

cevap

19

bu deneyin: yerine UIGraphicsBeginImageContext(size); kullanım UIGraphicsBeginImageContextWithOptions(size,NO,0.0);

i ne olursa olsun çözünürlük size (punto olarak) 32x32 görüntü var boyutlandırma olduğunu ne yaptığını anladığım kadarıyla. UIGraphicsBeginImageContextWithOptions, görüntüyü cihazın ekranının ölçeğine göre ölçeklendirir. Görüntüyü 32x32 noktaya yeniden boyutlandırırsınız ancak çözünürlük, retina gösterimi için tutulur

(bunun elmanın uikit referansından anladığım şeye dikkat edin .. öylesine olabilir ... ama o gerekir) okunabilir here

+0

Harika, bu bir şey gibi çalıştı. Çok teşekkür ederim. –

+0

Bunu daha çok dile getirebilirdim, çok teşekkür ederim! – ryan0

+1

görüntü kalitesi hala iyi değil .... –

İlgili konular