1

私を案内してください。iOSで高さと幅を縮小せずに画像のサイズを縮小する方法は?

デバイスのカメラで写真を撮ります。サイズは約250kbです。高さと幅のサイズを変更せずに 100KB を削減したいと考えています。

それは可能ですか?

あなたの意見を共有してください。

4

3 に答える 3

1

jpg 画像を jpeg に変換すると、サイズが小さくなります。これを試して。

[UIImage imageWithData:UIImageJPEGRepresentation(img, 0.01f)];
于 2013-01-09T09:21:58.077 に答える
0

私は通常、この回答で見つけたiOSでの画像の圧縮にこの関数を使用します。

+ (NSData*)imageDataWithCGImage:(CGImageRef)CGimage UTType:(const CFStringRef)imageUTType desiredCompressionQuality:(CGFloat)desiredCompressionQuality
{
    NSData* result = nil;

    CFMutableDataRef destinationData = CFDataCreateMutable(kCFAllocatorDefault, 0);
    CGImageDestinationRef destinationRef = CGImageDestinationCreateWithData(destinationData, imageUTType, 1, NULL);
    CGImageDestinationSetProperties(destinationRef, (CFDictionaryRef)[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithFloat:desiredCompressionQuality], (NSString*)kCGImageDestinationLossyCompressionQuality, nil]);
    if (destinationRef != NULL)
    {
        CGImageDestinationAddImage(destinationRef, CGimage, NULL);

        if (CGImageDestinationFinalize(destinationRef))
        {
            result = [NSData dataWithData:(NSData*)destinationData];
        }
    }
    if (destinationData)
    {
        CFRelease(destinationData);
    }
    if (destinationRef)
    {
        CFRelease(destinationRef);
    }
    return result;
}

画像タイプはkUTTypePNGにすることができますが、品質パラメータはほとんど機能しません。必要に応じてkUTTypeJPEG2000にすることもできます。

于 2013-01-09T09:23:00.477 に答える