2011-04-03 57 views
3

我想从Sqlite数据库中获取GIF/PNG/JPG图像。 Monotouch中有没有将Blob字段转换为图像的方法?MonoTouch - 从Sqlite数据库Blob中提取图像

我猜测:

获取数据字节[]从SQLite的到存储器流:

UIImage.LoadFromData(NSData.FromStream(blob)); 

MemoryStream blob = new MemoryStream(blobFromSQLite[]); 

负载经由流的数据到一个NSData对象但是,如何从sqlite字段获取流?

回答

4

做到这一点最简单的方法是这样的:

byte[] myBuffer = null; 
using (SqliteCommand sqlCom = new SqliteCommand(sqlCon)) //assuming sqlCon is your SqliteConnection 
{ 

    sqlCom.CommandText = "SELECT Images FROM MyTable WHERE Name = 'MyImage.png'"; 

    using (SqliteDataReader dbReader = sqlCom.ExecuteReader()) 
    { 

     if (dbReader.HasRows) 
     { 

      while (dbReader.Read()) 
      { 

       myBuffer = (byte[])dbReader["Images"]; 

      } 

     } 

    } 
} 

为了得到它作为一个UIImage,你不必使用流都:

UIImage.LoadFromData(NSData.FromArray(myBuffer));