2013-09-26 82 views

回答

1

你可以用2 ways-

  1. 您的圖片存儲到數據庫中通過轉換圖像byte[]
    1. 圖像轉換爲字節[]並將其保存到sqlite的BLOB類型參數。
    2. 得到那個斑點的數據類型,並再次存儲到字節[],然後轉換爲圖像
  2. 通過
    1. 轉換圖像轉換圖像爲base64字符串的base64串存儲在VARCHAR/VARCHAR2類型
    2. 到SQLITE
    3. 從sqlite的數據庫獲取的base64字符串,並將其轉換爲圖像
+0

我可以有這個問題的示例代碼? 我是初學者,所以我不知道在哪裏編寫代碼以及如何傳遞變量。 –

1

您可以將其存儲爲base64編碼圖像,當需要顯示它時,必須對圖像進行解碼。

嘗試閱讀this

1

BASE-64最佳編碼技術來存儲SQLite的圖像。嘗試下面給出的代碼。一種方法會給你base-64編碼的字符串StorageFile &另外一個會返回你BitmapImage對象,它可以設置爲<Image />的源。

private async Task<BitmapImage> Base64StringToBitmap(string source) 
{ 
    var ims = new InMemoryRandomAccessStream(); 
    var bytes = Convert.FromBase64String(source); 
    var dataWriter = new DataWriter(ims); 
    dataWriter.WriteBytes(bytes); 
    await dataWriter.StoreAsync(); 
    ims.Seek(0); 
    var img = new BitmapImage(); 
    img.SetSource(ims); 
    return img; 
} 

private async Task<string> ConvertStorageFileToBase64String(StorageFile imageFile) 
{ 
    var stream = await imageFile.OpenReadAsync(); 

    using (var dataReader = new DataReader(stream)) 
    { 
     var bytes = new byte[stream.Size]; 
     await dataReader.LoadAsync((uint)stream.Size); 
     dataReader.ReadBytes(bytes); 

     return Convert.ToBase64String(bytes); 
    } 
} 
+0

我可以有示例代碼爲這名p roblem?我是初學者,所以我不知道在哪裏編寫代碼以及如何傳遞變量。 –

相關問題