2012-09-04 131 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; 
    }   
}