代码之家  ›  专栏  ›  技术社区  ›  Diego Tobar

目标C,base64 png到UIImage

  •  2
  • Diego Tobar  · 技术社区  · 9 年前

    我正在尝试转换一个数据:image/png;base64转换为UIImage,然后从UIImage获取CGImage并将其发送到Zebra打印机。

    我尝试以下代码:

    NSData *datad = [[NSData alloc] initWithData:[NSData dataFromBase64String:@"data:image/png;base64,iVBORw0KGgoAAAANS...etc"]];
    UIImage *image = [UIImage imageWithData:datad];
    [image CGIamge]
    

    我正在尝试使用以下代码:

    NSString *base64Url = @"data:image/png;base64,iVBORw0KGgoAAAANS...etc";
    NSURL *url = [NSURL URLWithString:base64Url];
    NSString *base64Image = [NSString stringWithContentsOfURL:url];
    url = [NSURL URLWithString:base64Image];
    NSData *rawImageData = [NSData dataWithContentsOfURL:url];
    UIImage *image = [UIImage imageWithData:rawImageData];
    

    使用代码的第二部分,我得到一个黑色图像。

    我肯定做错了什么。

    我也在努力做到这一点 How to create CGImageRef from NSData string data (NOT UIImage)

    啊,什么都没有。

    拜托,如果有人能帮助我,你将是我的英雄!

    2 回复  |  直到 7 年前
        1
  •  3
  •   Rob Md Fahim Faez Abir    9 年前

    你必须删除它 data:image/png;base64, 前缀,并且仅包括实际的base64有效载荷(包括任何 = 结尾的字符) dataFromBase64String .

        2
  •  1
  •   tuledev    9 年前

    你应该试试这个:

    NSData *data = [[NSData alloc]initWithBase64EncodedString:strEncodeData options:NSDataBase64DecodingIgnoreUnknownCharacters];
    UIImage *image = [UIImage imageWithData:data];