我对Xcode,obj-c等完全不熟悉,但我想用Parse.com将图像保存到他们的服务器,他们说你必须使用这一行,将UIImage转换为NSData
NSData *imageData = UIImagePNGRepresentation(image);
如何加载我的资源文件夹中的一个.png,然后将其转换为UIImage?如果有任何帮助,我也会使用麻雀框架。
修改
我已按照以下建议尝试此代码。
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"terrainHexAtlas_v1@2x.png" ofType:@"png"];
UIImage *myImage = [UIImage imageWithContentsOfFile:imagePath];
NSData *imageData = UIImagePNGRepresentation(myImage);
PFFile *imageFile = [PFFile fileWithName:@"terrainHexAtlas_v1@2x.png" data:imageData];
[imageFile save];
但似乎没有发生任何事情。我在最后一行尝试了一个断点,vars imagePath,myImage,imageData都是00000000,我不知道。
答案 0 :(得分:3)
你应该遵守代码:
//png
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"your_image" ofType:@"png"];
UIImage *myImage = [UIImage imageWithContentsOfFile:imagePath];
NSData *pngImageData = UIImagePNGRepresentation(myImage);
//jpeg
NSString *imagePath2 = [[NSBundle mainBundle] pathForResource:@"your_image" ofType:@"jpg"];
UIImage *myImage2 = [UIImage imageWithContentsOfFile:imagePath2];
NSData *jpegImageData = [UIImageJPEGRepresentation(myImage2, 1.0f)];
//不包含扩展程序
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"your_image.png" ofType:nil];
//包含扩展名
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"your_image" ofType:@"png"];
//有些人误以为是。错误的代码。返回 nil
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"your_image.png" ofType:@"png"];