2016-05-15 1 views
0

私はS3バケットを米国標準に設定しましたが、画像がバケットにアップロードされるまでには約10-15秒かかります。今私はそれについて考えている、私は画像を圧縮していないので、私は推測している代わりに、私はちょうどファイルパスにカメラで撮影した画像を格納し、それをアップロードしています。私は画像を圧縮するためにUIImageJPEGRepresentationを使用し、ファイルにNSDataを書き込み、S3にそのファイルをアップロードすることに疑問を抱いていましたか?または、より良い/異なる方法がありますか?遅いアップロードが圧縮のためでない場合は、バケットのために選択された領域になるでしょうか?私は、画像を圧縮すると、それはアップロードにかかる時間をスピードアップするかどうイメージをAWSにアップロードするのが長すぎますか?

Compress images to reduce file size

答えて

1
  • は画像
  • を圧縮するために、このメソッドを使用していますが、それは、待ち時間のための巨大な理由かもしれない全くわからないんだけど

    コールこの方法のように:

    最初に設定して画像サイズ

    CGSizeでNewSize = CGSizeMake(200、200);

  • UIImage * profileImage = [AppManager resizeImageToSize:newSize image:croppedImage];

プラグママーク - イメージのサイズを変更ToSize

  • (UIImage )resizeImageToSize:(CGSize)はTargetSize画像:(UIImage)captureImage {UIImage * sourceImage = captureImage。 UIImage * newImage = nil;

    CGSize imageSize = sourceImage.size; CGFloat width = imageSize.width; CGFloat height = imageSize.height;

    CGFloat targetWidth = targetSize.width; CGFloat targetHeight = targetSize.height;

    CGFloat scaleFactor = 0.0; CGFloat scaledWidth = targetWidth; CGFloat scaledHeight = targetHeight;

    CGPoint thumbnailPoint = CGPointMake(0.0,0.0);

    場合(NO CGSizeEqualToSize(IMAGESIZE、はTargetSize)==){

    CGFloat widthFactor = targetWidth/width; 
    CGFloat heightFactor = targetHeight/height; 
    
    if (widthFactor < heightFactor) 
        scaleFactor = widthFactor; 
    else 
        scaleFactor = heightFactor; 
    
    scaledWidth = width * scaleFactor; 
    scaledHeight = height * scaleFactor; 
    
    // make image center aligned 
    if (widthFactor < heightFactor) 
    { 
        thumbnailPoint.y = (targetHeight - scaledHeight) * 0.5; 
    } 
    else if (widthFactor > heightFactor) 
    { 
        thumbnailPoint.x = (targetWidth - scaledWidth) * 0.5; 
    } 
    

    }

    UIGraphicsBeginImageContext(はTargetSize)。 CGRect thumbnailRect = CGRectZero; thumbnailRect.origin = thumbnailPoint; thumbnailRect.size.width = scaledWidth; thumbnailRect.size。height = scaledHeight;

    [sourceImage drawInRect:thumbnailRect]; newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext();

    if(newImage == nil) CCLogs(@ "could not scale image");

    return newImage;

}

+0

おかげでそうそうスケーリング/圧縮が問題だったと今では100倍の倍の速さだ、私はhttp://stackoverflow.com/questions/17018617/how-to-resize-このリンクをたどっshiju86イメージ - イン - イオス – abcf

+0

ねえ... !! :) –

関連する問題