【问题标题】:Objective C, base64 png to UIImage目标C,base64 png到UIImage
【发布时间】:2015-12-10 01:15:26
【问题描述】:

我正在尝试将 data: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)

aaaa 什么都没有。

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

【问题讨论】:

    标签: ios objective-c uiimage base64 data-uri


    【解决方案1】:

    您必须删除 data:image/png;base64, 前缀,并且仅在调用 dataFromBase64String 时包含实际的 base64 有效负载(包括末尾的任何 = 字符)。

    【讨论】:

    • 谢谢,看来是打印机配置了,图片制作的很好,我什至保存到相册了。
    【解决方案2】:

    你应该试试这个:

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

    【讨论】:

    • 谢谢,看来是打印机配置了,图片制作的很好,我什至保存到相册了。
    猜你喜欢
    • 2020-12-25
    • 1970-01-01
    • 2018-05-18
    • 2023-02-24
    • 1970-01-01
    • 2018-06-26
    • 2022-01-14
    • 2011-04-22
    • 1970-01-01
    相关资源
    最近更新 更多