ImageResource.cs 928 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System;
  2. using System.Drawing;
  3. namespace PaintDotNet
  4. {
  5. public abstract class ImageResource
  6. : Resource<Image>
  7. {
  8. private sealed class FromImageResource
  9. : ImageResource
  10. {
  11. protected override Image Load()
  12. {
  13. return (Image)Reference.Clone();
  14. }
  15. public FromImageResource(Image image)
  16. : base(image)
  17. {
  18. }
  19. }
  20. public static ImageResource FromImage(Image image)
  21. {
  22. if (image == null)
  23. {
  24. throw new ArgumentNullException("image");
  25. }
  26. ImageResource resource = new FromImageResource(image);
  27. return resource;
  28. }
  29. protected ImageResource()
  30. : base()
  31. {
  32. }
  33. protected ImageResource(Image image)
  34. : base(image)
  35. {
  36. }
  37. }
  38. }