0

私の NSData オブジェクトには、写真のバイトが含まれています。このオブジェクトを UIImage に変換したいと思います。私の問題は、彼がすべての名前を UIImage に付けることができなかったことです。例 myphoto.jpg

これは私のコードです:

NSString * bytestring =(NSString *)[bean image];

//contain byte of my photo
NSData * byte = [bytestring dataUsingEncoding:NSUTF8StringEncoding];


UIImage *image=[[UIImage alloc]initWithData:byte];


UIButton *bt=[[UIButton alloc]initWithFrame:CGRectMake(80,80,100,100)];

[bt setImage:image forState:UIControlStateNormal];
[self.boxView addSubview:bt];

ボタンに写真が表示されません。どのようにできるのか?

4

1 に答える 1

0

これ[bean image]は実際には画像データの base 64 エンコードであるように見えるため、メソッドを使用して、エンコードされたデータをエンコードされていないデータに変換する必要があります。

これには標準的な方法はありませんが、見つけて使用できる方法はたくさんあります。コードは次のようになります。

NSString *byteString = [bean image]; // no need for a cast if it's already an NSString
NSData *byte = // call some method to convert base 64 encoded string into an NSData object

見て:

base64 でデコードされた NSData を NSString に変換します

于 2012-11-24T18:54:23.833 に答える