1

私はXcode、obj-cなどはまったく初めてですが、Parse.comを使用してサーバーに画像を保存したいのですが、UIImageをNSDataに変換するには、この行を使用する必要があると言われています

NSData *imageData = UIImagePNGRepresentation(image);

リソース フォルダーにある .png の 1 つを読み込んで、それを UIImage に変換するにはどうすればよいですか? それが役立つ場合は、Sparrow Frameworkも使用しています。

編集

以下に提案するように、このコードを試しました。

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 で、取得できません。

4

1 に答える 1

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)];

pathForResource に拡張子を含めないでください。以下のミスケースを確認してください。

// 拡張子を含まない

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"];
于 2012-08-11T03:51:28.320 に答える