2011-09-10 16 views
0

これはNSStringUIImageに変換する正しい方法ですか?NSStringをUIImageに変換する

私はこのコードを試してみました:

NSString *localPng = [[NSBundle mainBundle] pathForResource:@"resume-1" 
                ofType:@"png"]; 

NSData* data=[localPng dataUsingEncoding:NSUTF8StringEncoding]; 

NSLog(@"datas %@",data); 

UIImage* image = [[UIImage alloc] init]; 
image = [UIImage imageWithData:data]; 

NSLog(@"-------- %@",image); 

[self uploadScoreToFaceBook:[NSString stringWithFormat:@"Medina Score %d",score] uploadImage:image ]; 

をしかし、私はimageでnull値を取得しています。

答えて

1

あなたがやっていることは、データをパスとしてイメージを初期化することです。これは明らかに機能しません。代わりにこれを行うことができます:

UIImage *image = [[UIImage imageWithContentsOfFile:localPng] retain]; 

データ部分はスキップできます。


完全なコードは次のようになります:

NSString *localPng = [[NSBundle mainBundle] pathForResource:@"resume-1" ofType:@"png"]; 
UIImage *image = [[UIImage imageWithContentsOfFile:localPng] retain]; 
NSLog(@"%@", image); 
[self uploadScoreToFaceBook:[NSString stringWithFormat:@"Medina Score %d", score] uploadImage:image]; 

は、あなたはもうそれを必要としないとき、あなたのイメージを解放するようにしてください。

+0

、もう一つの問題のNSData *画像データ= UIImagePNGRepresentation(画像を)ありがとうを使用することができ、画像を保持する必要がない場合。 NSString * newStr = [[NSString alloc] initWithData:imageData エンコーディング:NSUTF8StringEncoding]; NSLog(@ "新しい文字列%@"、newStr); \t [NSHString stringWithFormat:@ "あなたのスコアは%@%@"、score、newStr]]; – user937945

+0

私はFacebookに画像を更新したいと思いますが、画像の場所には(null)が表示されています。 – user937945

+0

@ user937945あなたのアプリケーションバンドルの中に 'resume-1.png'というファイルがありますか? iPhoneのファイルシステムは大文字と小文字が区別されます***。また、 'score'が' int'なら '%d'や'%u'(符号量に依存します)を使います。 '%@'はObjective-Cオブジェクトでのみ使用してください。 –

0

画像の名前がついているようですが、おそらく次のように使用します。

[UIImage imageNamed:(NSString *)name]

は、ここでは、画像の名前を提供し、あなたは画像を取得します。

1

あなたは単に

UIImage *image = [UIImage imageNamed:@"resume-1.png"];