2012-09-04 130 views

回答

7

从图像获取字节:

NSData *imageData = UIImageJPEGRepresentation(image, imageQuality); 

对于来自字节获得的图像:

UIImage *image = [UIImage imageWithData: imageData]; 

顺便说一句,如果你从NSData的需要字节只是调用它字节的方法。

1

转换图像转换成字节这样的:

NSData *imageData = UIImagePNGRepresentation(yourImage.image); 
NSUInteger len = [imageData length]; 
Byte *byteData= (Byte*)malloc(len); 
[imageData getBytes:byteData length:len]; 

现在字节成图像是这样的:

NSData *pictureData = [NSData dataWithBytes:byteData]; 
UIImage *image = [[UIImage alloc]initWithData:pictureData]; 
1

UIImage到字节数组

UIImage *image = [UIImage imageNamed:@"image.png"]; 
NSData *data = UIImagePNGRepresentation(image); 
NSString *byteArray = [data base64Encoding]; 

字节数组UIImage

+ (UIImage *)imageWithData:(NSData *)data; 
NSData *data = [NSData dataWithBytes:YOUR_BYTE_ARRAY length:ARRAY_LENGTH]; 
UIImage *img = [UIImage imageWithData:data]; 
UIImageView *imgView = [[UIImageView alloc]initWithImage:img]; 

希望您找到解决方案。

2

如何获取流字节并将其转换回图像,下面是我的代码: 但我得到的图像是空白的。为什么?

- (void)stream:(NSStream *)theStream handleEvent:(NSStreamEvent)streamEvent { 

    switch (streamEvent) { 
    case NSStreamEventOpenCompleted: 
     NSLog(@"Stream opened"); 
     break; 
    case NSStreamEventHasBytesAvailable: 

     if (theStream == inputStream) { 
     uint8_t buffer[5000]; 
     int len; 

     while ([inputStream hasBytesAvailable]) { 
      len = [inputStream read:buffer maxLength:sizeof(buffer)]; 
        NSLog(@"len=%d", len); 
      if (len > 0) { 

      NSData *pictureData = [NSData dataWithBytes:buffer length:len]; 

      UIImage *images = [[UIImage alloc]initWithData:pictureData]; 
         [imagesview setImage:imagess];    
      }  
     } 
     } 
     break; 
    }   
}