Products
製品の写真を含むという名前のテーブルを持つデータベースがあります。
画像をメモリに保存するには
public byte[] Picture
したがって、私のデータベースでは varbinary 型です (自動的に変換されます)。したがって、データベースから画像を pictureBox1.Image に表示する必要があります。このようなもの:
var q_pic = from p in context.Products
where p.ID == value // Id of product that i want
select new
{
p.Picture
};
そしていま
picutreBox1.Image = ??
原因
pictureBox1.Image = q_pic // doeasn't work
私はこれを試しました:
var bytes = from p in context.Products
where p.ID == value // Id of product that i want
select p.Picture;
if (bytes != null)
{
using (var ms = new MemoryStream(bytes))
{
using (var image = Image.FromStream(ms))
{
pictureBox1.Image = (Image)image.Clone();
}
}
}
そしてこれを取得
Error 1 The best overloaded method match for 'System.IO.MemoryStream.MemoryStream(byte[])' has some invalid arguments
Error 2 Argument 1: cannot convert from 'System.Linq.IQueryable<byte[]>' to 'byte[]'