2010-11-30 8 views
0
public byte[] PictureByteArray 
     { 
      get 
      { 
       //get a TypeConverter object for converting Bitmap to bytes 
       TypeConverter converter = TypeDescriptor.GetConverter(typeof(Bitmap)); 
       byte[] byteArr = (byte[])converter.ConvertTo(source, typeof(byte[])); 
       return byteArr; 
      } 
      set 
      { 
       source = new Bitmap(new MemoryStream(value)); 
      } 
     } 


    System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding(); 
      s = enc.GetString(bytes); 
+1

Iドン」プロパティをバイト配列で受け取り、ビットマップを返すようにしたいので、ここでプロパティを使用できると思います。プロパティは同じデータ型を取得して設定する必要があります。これには2つの方法が必要です。 1つはimage-> byte配列用、もう1つはbyte配列 - > image用です。 –

答えて

1

Iは、通常、例えば、再びバイト配列に画像を変換するためのこれらの2つの方法を使用し、そして:

public static byte[] ImageToByteArray(System.Drawing.Image imageIn) { 
    MemoryStream ms = new MemoryStream(); 
    Bitmap image = new Bitmap(imageIn); 
    image.Save(ms, System.Drawing.Imaging.ImageFormat.Png); 
    return ms.ToArray(); 
} 

public static Image ByteArrayToImage(byte[] byteArray) { 
    MemoryStream ms = new MemoryStream(byteArray); 
    Image returnImage = Image.FromStream(ms); 
    return returnImage; 
} 
+0

ところで、私はImageToByteArrayでビットマップを漏らしていると思います。テンポラリビットマップを保存した後に破棄する必要があります。 – N8allan

関連する問題