StorImage.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Drawing;
  4. using System.Drawing.Imaging;
  5. using System.IO;
  6. using System.Linq;
  7. using System.Text;
  8. namespace Island.StandardLib.Storage
  9. {
  10. public class StorImage : IStorable
  11. {
  12. public byte[] Data;
  13. public Image Image
  14. {
  15. get
  16. {
  17. MemoryStream stream = new MemoryStream(Data);
  18. Image img = Image.FromStream(stream);
  19. stream.Close();
  20. return img;
  21. }
  22. set
  23. {
  24. MemoryStream _strm = new MemoryStream();
  25. value.Save(_strm, ImageFormat.Jpeg);
  26. Data = new byte[_strm.Length];
  27. _strm.Position = 0;
  28. _strm.Read(Data, 0, Data.Length);
  29. _strm.Close();
  30. }
  31. }
  32. public StorImage() { }
  33. public StorImage(Image img)
  34. {
  35. Image = img;
  36. }
  37. public void ReadFromData(DataStorage data)
  38. {
  39. Data = data.Read();
  40. }
  41. public void WriteToData(DataStorage data)
  42. {
  43. data.Write(Data);
  44. }
  45. }
  46. }