php_image.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*
  2. +----------------------------------------------------------------------+
  3. | PHP Version 7 |
  4. +----------------------------------------------------------------------+
  5. | Copyright (c) 1997-2018 The PHP Group |
  6. +----------------------------------------------------------------------+
  7. | This source file is subject to version 3.01 of the PHP license, |
  8. | that is bundled with this package in the file LICENSE, and is |
  9. | available through the world-wide-web at the following url: |
  10. | http://www.php.net/license/3_01.txt |
  11. | If you did not receive a copy of the PHP license and are unable to |
  12. | obtain it through the world-wide-web, please send a note to |
  13. | license@php.net so we can mail you a copy immediately. |
  14. +----------------------------------------------------------------------+
  15. | Authors: Rasmus Lerdorf <rasmus@php.net> |
  16. | Marcus Boerger <helly@php.net> |
  17. +----------------------------------------------------------------------+
  18. */
  19. #ifndef PHP_IMAGE_H
  20. #define PHP_IMAGE_H
  21. PHP_FUNCTION(getimagesize);
  22. PHP_FUNCTION(getimagesizefromstring);
  23. PHP_FUNCTION(image_type_to_mime_type);
  24. PHP_FUNCTION(image_type_to_extension);
  25. /* {{{ enum image_filetype
  26. This enum is used to have ext/standard/image.c and ext/exif/exif.c use
  27. the same constants for file types.
  28. */
  29. typedef enum
  30. { IMAGE_FILETYPE_UNKNOWN=0,
  31. IMAGE_FILETYPE_GIF=1,
  32. IMAGE_FILETYPE_JPEG,
  33. IMAGE_FILETYPE_PNG,
  34. IMAGE_FILETYPE_SWF,
  35. IMAGE_FILETYPE_PSD,
  36. IMAGE_FILETYPE_BMP,
  37. IMAGE_FILETYPE_TIFF_II, /* intel */
  38. IMAGE_FILETYPE_TIFF_MM, /* motorola */
  39. IMAGE_FILETYPE_JPC,
  40. IMAGE_FILETYPE_JP2,
  41. IMAGE_FILETYPE_JPX,
  42. IMAGE_FILETYPE_JB2,
  43. IMAGE_FILETYPE_SWC,
  44. IMAGE_FILETYPE_IFF,
  45. IMAGE_FILETYPE_WBMP,
  46. /* IMAGE_FILETYPE_JPEG2000 is a userland alias for IMAGE_FILETYPE_JPC */
  47. IMAGE_FILETYPE_XBM,
  48. IMAGE_FILETYPE_ICO,
  49. IMAGE_FILETYPE_WEBP,
  50. /* WHEN EXTENDING: PLEASE ALSO REGISTER IN image.c:PHP_MINIT_FUNCTION(imagetypes) */
  51. IMAGE_FILETYPE_COUNT
  52. } image_filetype;
  53. /* }}} */
  54. PHP_MINIT_FUNCTION(imagetypes);
  55. PHPAPI int php_getimagetype(php_stream *stream, char *filetype);
  56. PHPAPI char * php_image_type_to_mime_type(int image_type);
  57. #endif /* PHP_IMAGE_H */