ResourceLoader.DesignExt.cs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. using System.Drawing;
  2. using System.IO;
  3. using System.Windows.Forms;
  4. namespace FastReport.Utils
  5. {
  6. partial class ResourceLoader
  7. {
  8. /// <summary>
  9. /// Gets a bitmap from specified assembly resource.
  10. /// </summary>
  11. /// <param name="assembly">Assembly name.</param>
  12. /// <param name="resource">Resource name.</param>
  13. /// <returns>Bitmap object.</returns>
  14. public static Bitmap GetBitmap(string assembly, string resource)
  15. {
  16. Stream stream = GetStream(assembly, resource);
  17. if (stream == null)
  18. return null;
  19. Bitmap bmp = new Bitmap(stream);
  20. // To avoid the requirement to keep a stream alive, we clone a bitmap.
  21. Bitmap result = ImageHelper.CloneBitmap(bmp);
  22. bmp.Dispose();
  23. stream.Dispose();
  24. return result;
  25. }
  26. /// <summary>
  27. /// Gets a bitmap from specified FastReport assembly resource.
  28. /// </summary>
  29. /// <param name="resource">Resource name.</param>
  30. /// <returns>Bitmap object.</returns>
  31. public static Bitmap GetBitmap(string resource)
  32. {
  33. return GetBitmap("FastReport", resource);
  34. }
  35. /// <summary>
  36. /// Gets a cursor from specified assembly resource.
  37. /// </summary>
  38. /// <param name="assembly">Assembly name.</param>
  39. /// <param name="resource">Resource name.</param>
  40. /// <returns>Cursor object.</returns>
  41. public static Cursor GetCursor(string assembly, string resource)
  42. {
  43. Stream stream = GetStream(assembly, resource);
  44. Cursor result = new Cursor(stream);
  45. stream.Dispose();
  46. return result;
  47. }
  48. /// <summary>
  49. /// Gets a cursor from specified FastReport assembly resource.
  50. /// </summary>
  51. /// <param name="resource">Resource name.</param>
  52. /// <returns>Cursor object.</returns>
  53. public static Cursor GetCursor(string resource)
  54. {
  55. return GetCursor("FastReport", resource);
  56. }
  57. /// <summary>
  58. /// Gets an icon from specified assembly resource.
  59. /// </summary>
  60. /// <param name="assembly">Assembly name.</param>
  61. /// <param name="resource">Resource name.</param>
  62. /// <returns>Icon object.</returns>
  63. public static Icon GetIcon(string assembly, string resource)
  64. {
  65. Stream stream = GetStream(assembly, resource);
  66. Icon result = new Icon(stream);
  67. stream.Dispose();
  68. return result;
  69. }
  70. /// <summary>
  71. /// Gets an icon from specified FastReport assembly resource.
  72. /// </summary>
  73. /// <param name="resource">Resource name.</param>
  74. /// <returns>Icon object.</returns>
  75. public static Icon GetIcon(string resource)
  76. {
  77. return GetIcon("FastReport", resource);
  78. }
  79. }
  80. }