2012-01-09 13 views
-1

MySQLデータベースからイメージを取得し、バイナリ形式からビットマップイメージに変換してASP:ImageまたはHTML Imageに表示する方法に悩まされました。私は、画像をアップロードすることができていますが、そのは、バイナリデータに変換されていると私は戻って、ビットマップ形式に変換する方法を理解できませんでした:(C#でバイナリデータをイメージに変換する

protected void Button2_Click(object sender, EventArgs e) 
{ 
    cmd = new OdbcCommand("SELECT picture from profile limit 1", MyConnection); 
    MyConnection.Open(); 
    OdbcDataReader dr = cmd.ExecuteReader(); 
    if (dr.HasRows == false) 
    { 
     Response.Write("No rows"); 
    } 
    if(dr.Read()) 
    { 
     // WHAT TO CODE HERE? 
    } 
} 

誰もがここでは、コードには何私は中でコードを埋める助けてください一部あなたがこの方法を変更した場合、それはトリックを行う必要があります

+1

これは役に立ちます:http://stackoverflow.com/questions/6878161/how-to-display-image-if-knows-image-data-as-binary –

+0

あなたは変換する必要があります – MethodMan

+1

"バイナリ"はエンコーディングであり、フォーマットではありません。多くの異なるバイナリエンコーディングがあります。どのデータベースを使用していますか? JPEG、PNG、GIF、BMPなど。形式です。どのような形式を出力しますか? –

答えて

0

:。

 public BitmapImage ConvertToImage(System.Data.Linq.Binary binary) 
    { 
     byte[] buffer = binary.ToArray(); 
     MemoryStream stream = new MemoryStream(buffer); 
     BitmapImage image = new BitmapImage(); 
     image.BeginInit(); 
     image.StreamSource = stream; 
     image.EndInit(); 
     return image; 
    } 
+0

または彼がデータベースから画像をストリーミングする方法についてこのリンクを見ることができないと理解していない場合http://www.aspsnippets.com/Articles/Display-images-from-SQL-Server-Database-in -ASP.Net-GridView-control.aspx – MethodMan

+0

'BitmapImage'でエラーが発生しましたが、参照がありませんか? –

+0

Whops、asp.netでBitmapImageを使用することはできないと思います。私が知る限り、それはPresentationCore.dllの一部です...「残りはケーキです」と言う部分を試してみてください。http://www.aspfree.com/c/a/ASP.NET/Retrieving-Images -from-a-Database - C --- Part-II / – Morten

0

DLLをSystem.Windows.Media.Imaging取得するには[参照の追加から「PresentationCore」のdllを追加を取り除くためにinorderをを言及しました欠けているfエラー... :)

関連する問題