2010-10-08 72 views
5

Tôi nhận được danh sách địa chỉ liên hệ từ Sổ địa chỉ ở một số địa chỉ liên hệ có hình ảnh được chụp bằng camera có kích thước rất lớn. Tôi đang hiển thị địa chỉ liên hệ cùng với hình ảnh của họ ở định dạng hàng và cột 3x3. là do kích thước lớn của hình ảnh của nó mất thời gian để tải các hình ảnh.Có ai đó đề nghị tôi làm thế nào để nén chúng. Tôi đã cố gắng nén chúng theo cách:Làm thế nào để nén một hình ảnh được chụp bởi máy ảnh trong sdk iphone?

if ([imageData length] > 0) 
{ 
    int len = [imageData length]; 
    if(len > 9000) 
    { 
     UIImage *theImage = [UIImage imageWithData:imageData]; 
     imageData = UIImageJPEGRepresentation(theImage,0.5); 
     printf("\n image data length in condition...%d",[imageData length]); 
     imageViewL.image = [UIImage imageWithData:imageData]; 
    } 
    else 
    { 
     imageViewL.image = [UIImage imageWithData:imageData]; 
    } 
} 

Mặc dù đã mất thời gian tải.

Trợ giúp của bất kỳ ai sẽ được đánh giá cao.

Cảm ơn tất cả, Monish.

Trả lời

11

Bạn có thể thay đổi kích thước hình ảnh được chụp bởi máy ảnh iphone bằng cách sử dụng các dòng mã sau đây

-(UIImage *)scaleImage:(UIImage *)image toSize:(CGSize)newSize 
{ 
    UIGraphicsBeginImageContext(newSize); 
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)]; 
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext();  
    return newImage; 
} 

và sau đó gọi phương pháp này như thế này

UIImage *image = [self scaleImage:your image toSize:CGSizeMake(320.0,480.0)]; 
+0

của nó thực sự làm việc tốt ... tanx rất nhiều .. !! –

Các vấn đề liên quan