0

私は2つの方法でそれをやっていますが、どちらも間違った答えを出します。

NSMutableArray *img=[[NSMutableArray alloc]init];
img=[memoInstance getTempImagesToSend]; //get nsmutableArray of images
NSData* myEncodedImageData=[img objectAtIndex:0];    
NSLog(@"IMAGE1:%@",[UIImage imageWithData:myEncodedImageData]); //i see image

NSLog(@"len:%lu",(unsigned long)[myEncodedImageData length]); //first way to show size

NSData *imgData = UIImageJPEGRepresentation([UIImage imageWithData:myEncodedImageData], 1);
NSLog(@"Size of Image(bytes):%d",[imgData length]); //second way to show

最初の方法:len:34898

2番目の方法:Size of Image(bytes):47701

画像はiPhoneで撮ったフォトアルバムより。それは47kにはなりません... ±500kのようになるはずです

4

2 に答える 2

0

次のことを試してください。

int height = image.size.height; int width = image.size.width; 
int bytesPerRow = 4*width; 

if (bytesPerRow % 16) 
bytesPerRow = ((bytesPerRow / 16) + 1) * 16; 

int dataSize = height*bytesPerRow;
于 2015-05-21T08:25:25.180 に答える
0

あなたを変えてみてください

NSData *imgData = UIImageJPEGRepresentation([UIImage imageWithData:myEncodedImageData], 1);

為に

NSData *imgData = [[NSData alloc] initWithData:UIImageJPEGRepresentation((your_ui_image), 0.5)];
于 2013-03-11T08:20:20.280 に答える