私を案内してください。iOSで高さと幅を縮小せずに画像のサイズを縮小する方法は?
デバイスのカメラで写真を撮ります。サイズは約250kbです。高さと幅のサイズを変更せずに 100KB を削減したいと考えています。
それは可能ですか?
あなたの意見を共有してください。
私を案内してください。iOSで高さと幅を縮小せずに画像のサイズを縮小する方法は?
デバイスのカメラで写真を撮ります。サイズは約250kbです。高さと幅のサイズを変更せずに 100KB を削減したいと考えています。
それは可能ですか?
あなたの意見を共有してください。
jpg 画像を jpeg に変換すると、サイズが小さくなります。これを試して。
[UIImage imageWithData:UIImageJPEGRepresentation(img, 0.01f)];
私は通常、この回答で見つけた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にすることもできます。