Receiving an image as blob from server converting back to image with Objective-C fails - objective-c

My service returns the following which is a blob representing an image:
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
In Oobjective-C I'm trying to convert it back to an image and I get exception, I even tried saving it to a file testing different extensions (png, jpg, jpeg, bmp) nothing worked the only way the file opens is with a txt extension.
How can I convert this blob into the image it should be?

That looks like Base64 encoded JPEG image data, so this should work:
NSString *b64String = #"/9j/4AAQSkZJRgABAQEASA ..."; // your string from the server
NSData *imageData = [[NSData alloc] initWithBase64EncodedString:b64String options:0];
UIImage *image = [UIImage imageWithData:imageData];
initWithBase64EncodedString is available since iOS 7.0. If you want to target
earlier iOS versions, you can use the following method instead:
NSData *imageData = [[NSData alloc] initWithBase64Encoding:b64String];

Related

OSX App Unrecognized Selector error when downloaded image from a when downloaded image from a JSON web service

In my Mac app I am getting Data from hey JSON web service and one of the fields is an image. When I do a NSLog(#"%#", [dict valueForKeyPath:#"profileImageDataString"] ); I see all of the data and it is correct. And I can also put it in a NSURL object like this NSURL *imgUrl = [dict valueForKeyPath:#"profileImageDataString"]; and it is still correct. But when I try this NSData *imgData = [NSData dataWithContentsOfURL:imgUrl]; or this NSImage *userImage = [[NSImage alloc] initWithContentsOfURL:imgUrl];I get the error unrecognized selector sent to instance. If I put the data in a NSString, two thirds is cut off at the end.
I am trying to save the Image data from the Jason web service into a text file to that later it can be loaded into a NSImage on in a user settings view.
Someone tell me what it is that I'm doing wrong?
This is the value of profileImageDataString that is returned by the web service;
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
The string seems to be a base64 encoded string representation of an image.
Try to create an NSData object from the string and the image from the data.
NSString *imgDataString = [dict objectForKey:#"profileImageDataString"];
NSData *imgData = [[NSData alloc] initWithBase64EncodedString:imgDataString options:0];
NSImage *userImage = [[NSImage alloc] initWithData:imgData];
And I can also put it in a NSURL object like this NSURL *imgUrl = [dict valueForKeyPath:#"profileImageDataString"]; and it is still correct.
You haven't got an NSURL object. You've got an NSString object. Declaring that your pointer refers to an NSURL and using the untyped getter valueForKeyPath: (or, even, much more correctly, objectForKey:) does not change the type of the object.
To convert a string to a URL use +[NSURL URLWithString:]. But what you're showing us isn't a URL. So why try to make it one at all?
But when I try this NSData *imgData = [NSData dataWithContentsOfURL:imgUrl]; or this NSImage *userImage = [[NSImage alloc] initWithContentsOfURL:imgUrl];I get the error unrecognized selector sent to instance.
That's because you're supplying an NSString, which does not implement the same selectors as an NSURL.
If I put the data in a NSString, two thirds is cut off at the end.
No it isn't; however when you log any object, all you get is enough information to help in debugging. Using NSLog is not intended to be a way to store the same amount of data in another form, or indeed to do anything strictly well defined other than help you to debug.
Get your string, use the approach as suggested by vadian.

Convert data from URL into Image in iPhone

Here I'm working for static URL.
My Code :
NSURL *url = [[NSURL alloc] initWithString:#"http://cns.bu.edu/~lgrady/diagonal_line_nobreak_seg.jpg"];
NSData *myData = [NSData dataWithContentsOfURL:url];
img.image = [UIImage imageWithData:myData];
So, I can see image in ImageView.
But, While passing internal web-service URL.
And I'm getting data for Image in bytes from url instead of Image like below:
{"AppBanner":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUg.....VORK5CYII="}
But with help of above code, I can't convert this data into Image.
So how can I convert this data into image ?
Any Solution ?
Thanks in advance.
Use NSData-Base64 to convert base64 into NSData and then into UIImage
NSString *strBase64 = [yourResposeDict objectForKey:#"AppBanner"];
//decode strBase64 using NSData-Base64 library

UIImage does not showing

I am using following code to convert base64 string to uiimmage and also getting NSDAta but
i am unable to get image.please check following code.
base64String //contaning base64 string
NSData *imageData = [base64String dataUsingEncoding:NSUTF8StringEncoding];
UIImage *ret = [[UIImage alloc] initWithData:imageData];
Thanks in advance
UIImage does not directly recognize base64 encoded data. Check Base64 encoding options on the Mac and iPhone for information on base64 decoding in iOS. It has NSData+Base64 category for parsing base64 string into NSData.

Converting a UIImage to jpeg/png file for sharing using AddThis Plug-in

I want to convert a UIImage into a format such as a jpeg or png so that I can then share that file using the IOS plug-in called "AddThis".
I tried to share it using just the UIImage but the plug-in doesn't support it so I need to find a way to convert the UIImage to a jpeg first, then add it into this code:
[AddThisSDK shareImage:[UIImage imageNamed:#"test.jpg] withService:#"twitter" title:#"I'm sharing something" description:#"Random description of image"];
the code has to have shareImage:[UIImageNamed:#""] otherwise an error occurs.
So far I've tried to convert it using UIImageJPEGRepresentation but I don't think I've done it properly. To be honest I tried to do it similarly to how you'd convert it straight from taking an image:
NSString *jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:#"photo_boom.jpg"];
[UIImageJPEGRepresentation(shareImage, 1.0) writeToFile:jpgPath atomically:YES];
NSError *error;
NSFileManager *fileMgr = [NSFileManager defaultManager];
NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:#"photo_boom.jpg"];
NSLog(#"Documents directory: %#", [fileMgr contentsOfDirectoryAtPath:documentsDirectory error:&error]);
Something tells me this isn't the correct way... mainly because I haven't been able to get it to work.
I'd really appreciate any kind of help!
Basically, I've made a UIImage from converting a UIView:
UIGraphicsBeginImageContext(firstPage.bounds.size);
[firstPage.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
Which I then want to give a jpeg format because when I tried to simply put it in as
[AddThisSDK shareImage:image withService:#"twitter" title:#"I'm sharing something" description:#"Random description of image"];
It gives me an error
UIImage has its own internal representation of an image, so it's irrelevant whether you load it with jpeg or png data.
The API call you're interested has a UIImage as the first parameter, so something along the lines of
[AddThisSDK shareImage:[UIImage imageNamed:#"photo_boom.jpg"]
withService:#"twitter"
title:#"I'm sharing something"
description:#"Random description of image"];
should work, provided photo_boom.jpg is included in your bundle. If you're loading a previously saved image from a folder, you'll need something like this:
NSString *jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:#"photo_boom.jpg"];
UIImage * myImage = [UIImage imageWithContentsOfFile: jpgPath];
[AddThisSDK shareImage:myImage
withService:#"twitter"
title:#"I'm sharing something"
description:#"Random description of image"];
If that doesn't work, have you tried putting a breakpoint on the AddThisSDK line, and checking the value of image? Type po image on the console.

TIFF image format for iphone application

I am working on iphone app and i need to save image into .tiff format.
It is possible to save image into png format using UIImagePNGRepresentation method and JPEG format using UIImageJPEGRepresentation. But i need to save signature captured by imageview into tiff format.
I unable to use NSImage class so that i can call TIFFRepresentation method.
How can i do it.Send me suggestion...
Thanks in advance...
I don't know what you mean by "captured by imageview". The means to save as TIFF wasn't introduced until iOS 4. Here is example code to save an arbitrary file as a TIFF; you can do this with any file-format data, no matter how you obtained it. You need to link to ImageIO framework and do #import <ImageIO/ImageIO.h>:
NSURL* url = [[NSBundle mainBundle] URLForResource:#"colson" withExtension:#"jpg"];
CGImageSourceRef src = CGImageSourceCreateWithURL((CFURLRef)url, NULL);
NSFileManager* fm = [[NSFileManager alloc] init];
NSURL* suppurl = [fm URLForDirectory:NSApplicationSupportDirectory
inDomain:NSUserDomainMask
appropriateForURL:nil
create:YES error:NULL];
NSURL* tiff = [suppurl URLByAppendingPathComponent:#"mytiff.tiff"];
CGImageDestinationRef dest = CGImageDestinationCreateWithURL((CFURLRef)tiff,
(CFStringRef)#"public.tiff", 1, NULL);
CGImageDestinationAddImageFromSource(dest, src, 0, NULL);
bool ok = CGImageDestinationFinalize(dest);
NSLog(#"result %i", ok); // 1, all went well
// and don't forget memory management, release source and destination, NSFileManager
[fm release]; CFRelease(src); CFRelease(dest);
Hmm, I don't develop for the iPhone, so can't tell you if there's a magic API way of doing this, but many years ago I had to create TIFF images manually.
The TIFF format is a bit whacky if you're used to just using a framework's CreateThisStuffAsAnImage() methods, but you can get the spec here and create the file yourself:
http://partners.adobe.com/public/developer/tiff/index.html#spec