2012-11-24 93 views
0

我的NSData對象包含在照片的字節內。 我想將此對象轉換爲UIImage。 我的問題是,他不能給一個名字all'oogetto UIImage。例如myphoto.jpgIPhone NSData到UIImage

這是我的代碼:

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

按鈕不會顯示我的照片。 我該怎麼辦?

+3

什麼是'[豆圖片]'真正的價值(不投)? – rmaddy

+0

豆 - > _圖片: /9J/4AAQSkZJRgABAQEAAAAAAAD/4QBaRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABG6ADAAQAAAABAAABgQAAAAAAAP/bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/EC ....也許我不是真正的字節?這是爲什麼? ( – Diego

+1

看起來像一個base64編碼圖像 – Felix

回答

0

由於看起來[bean image]實際上是圖像數據的基礎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 

看一看:

convert base64 decoded NSData to NSString

+0

:ImageIO:JPEG損壞的JPEG數據:數據段過早結束 非常感謝您的回覆。我現在得到這個錯誤:(對於一些推理文件和腐敗? – Diego

+0

我做到了!| |謝謝你謝謝你的幫助:) – Diego