ImageFactory_FreeImage.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * Copyright (C) =USTC= Fu Li
  3. *
  4. * Author : Fu Li
  5. * Create : 2005-7-29
  6. * Home : http://www.crazy-bit.com/
  7. * Mail : crazybit@263.net
  8. * History :
  9. */
  10. #ifdef PCL_3RD_LIBRARY_USE_FREEIMAGE
  11. #ifndef __FOO_IMAGEFACTORY_FREEIMAGE__2005_07_29__H__
  12. #define __FOO_IMAGEFACTORY_FREEIMAGE__2005_07_29__H__
  13. #include "ImageFactory_Mini.h"
  14. #include "ImageHandle_FreeImage.h"
  15. //class FCImageHandleFactory ;
  16. class FCImageHandleFactory_FreeImage ;
  17. //=============================================================================
  18. /**
  19. * Read/Write image via FreeImage lib (<B>Need FreeImage lib</B>).
  20. @verbatim
  21. BMP TGA Jpg Gif Tif Png Pcx Ico Xpm Psd
  22. Read O O O O O O O O O O
  23. Write O O O O O O O O O X
  24. @endverbatim
  25. */
  26. class FCImageHandleFactory_FreeImage : public FCImageHandleFactory
  27. {
  28. virtual FCImageHandleBase* CreateImageHandle (IMAGE_TYPE imgType)
  29. {
  30. switch (imgType)
  31. {
  32. case IMG_BMP : return new FCImageHandle_Bmp ;
  33. case IMG_TGA : return new FCImageHandle_Tga ;
  34. case IMG_GIF : return new FCImageHandle_FreeImage ;
  35. case IMG_PCX : return new FCImageHandle_FreeImage ;
  36. case IMG_PNG : return new FCImageHandle_FreeImage ;
  37. case IMG_TIF : return new FCImageHandle_FreeImage ;
  38. case IMG_JPG : return new FCImageHandle_FreeImage ;
  39. case IMG_ICO : return new FCImageHandle_FreeImage ;
  40. case IMG_XPM : return new FCImageHandle_FreeImage ;
  41. case IMG_PSD : return new FCImageHandle_FreeImage ;
  42. }
  43. return 0 ;
  44. }
  45. virtual ~FCImageHandleFactory_FreeImage() {}
  46. };
  47. //=============================================================================
  48. // inline Implement
  49. //=============================================================================
  50. #endif
  51. #endif // PCL_3RD_LIBRARY_USE_FREEIMAGE