【问题标题】:How to convert UIImage into byte array in objective-c如何在objective-c中将UIImage转换为字节数组
【发布时间】:2017-01-06 10:56:43
【问题描述】:

我正在像这样将UIImage转换成byte

NSUInteger len = [imageData length];
Byte *byteData= (Byte*)malloc(len);
memcpy(byteData, [imageData bytes], len);

当我在日志中打印 byteData 时,我看到了这样的值。

(lldb) po byteData
"\377\330\377\340

但是我怎样才能从中创建一个字节数组呢? 请帮我。 谢谢

更新

这就是我们的 Web 应用程序将数据传递给同一服务的方式。

byte[] fileContent; 
using (var inputStream = file.InputStream)
 { var memoryStream = inputStream as MemoryStream;
   if (memoryStream == null) { memoryStream = new MemoryStream();
   inputStream.CopyTo(memoryStream); } fileContent = memoryStream.ToArray(); 
 }

所以我想在我的 iOS 应用程序中做同样的事情。

【问题讨论】:

  • 为什么要把uiimage转成字节数组?
  • 我想把它发送到我的网络服务,它需要一个字节数组
  • @Irrd 有没有找到将U​​IImage转成字节数组的解决方案。

标签: ios objective-c uiimage nsarray bytearray


【解决方案1】:

下面的代码可能会有所帮助:

@try {
    NSData *data = UIImagePNGRepresentation(img);
    NSUInteger len = data.length;
    uint8_t bytes = (uint8_t )[data bytes];
    NSMutableString *result = [NSMutableString stringWithCapacity:len];
    for (NSUInteger i = 0; i < len; i++) {
        if (i) {
            [result appendString:@","];
        }
        [result appendFormat:@"%d",bytes];
    }
    return result;
} @catch (NSException * e) {
    NSLog(@"Exception: %@", e);
}
@finally {
    NSLog(@"finally");
}

【讨论】:

  • 为什么字符串容量是 len*3?
  • 你可以简单的定义为NSMutableString@Irrd
【解决方案2】:

这是最简单的方法...

UIImage *img =  [UIImage imageNamed:@"yourimage.png"];

NSData *imageData = UIImagePNGRepresentation(img);

UIImage *img =  [UIImage imageNamed:@"yourimage.jpg"];

CGFloat quality = 0.80;

NSData *imageData = UIImageJPEGRepresentation(img,quality);

【讨论】:

    【解决方案3】:

    你必须像这样将你的 UIImage 转换成 NSData :

    UIImage *imgObj = [UIImage imageNamed:@"image.jpg"];

    NSData *imgData = UIImageJPEGRepresentation(imgObj, 0.9);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-11
      • 1970-01-01
      • 1970-01-01
      • 2014-10-14
      相关资源
      最近更新 更多