当我执行以下操作时,生成的图像为空
NSLog(@"string (%@) to base64NSData",object);
NSData *base64Data = [[object dataUsingEncoding:NSUTF8StringEncoding] base64EncodedDataWithOptions:0];
NSLog(@"NSData (%@) to UIImage",base64Data);
UIImage *image = [UIImage imageWithData:base64Data];
NSLog(@"my image is: %@",image);
我怎么做得好?
原因
我需要将图像从iOS保存到Google Blobstore。我需要在图像中包含一些元数据。当我将字符串编码为base64时,它不起作用。
这是对AFHTTPRequestOperationManager post multi-part request not working的大致跟踪
最佳答案
这是用于从NSString生成图像的代码。
实现此方法...。
+(UIImage *)imageFromText:(NSString *)text
{
UIFont *font = [UIFont systemFontOfSize:20.0];
CGSize size = [text sizeWithAttributes:
@{NSFontAttributeName:
[UIFont systemFontOfSize:20.0f]}];
if (UIGraphicsBeginImageContextWithOptions != NULL)
UIGraphicsBeginImageContextWithOptions(size,NO,0.0);
else
UIGraphicsBeginImageContext(size);
[text drawAtPoint:CGPointMake(0.0, 0.0) withFont:font];
// [text drawAtPoint:CGPointMake(0.0, 0.0) forWidth:CGPointMake(0, 0) withFont:font fontSize:nil lineBreakMode:NSLineBreakByWordWrapping baselineAdjustment:NSTextAlignmentCenter];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
像这样调用此方法
UIImage *image;
image = [self imageFromText:@"Good Morning];
//Use this image as per your requirement
希望它对您有用。
关于ios - 如何将NSString转换为Appengine Blobstore的UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25110365/