项目作者: selective-php

项目描述 :
Image type (format) detection for PHP
高级语言: PHP
项目地址: git://github.com/selective-php/image-type.git
创建时间: 2019-06-09T09:32:28Z
项目社区:https://github.com/selective-php/image-type

开源协议:MIT License

下载


selective/image-type

Image type detection library for PHP.

Latest Version on Packagist
Software License
Build Status
Coverage Status
Quality Score
Total Downloads

Features

  • Detection of the image type based on its content (header)
  • No dependencies
  • Very fast

Supported formats

Raster

  • ANI (Animated Cursor)
  • BMP (Windows Bitmap)
  • CUR (Cursor)
  • DICOM (Digital Imaging and Communications in Medicine)
  • GIF (Graphics Interchange Format)
  • HEIF / HEIC (High Efficiency Image File Format) / Apple iPhone photos
  • ICO (Icon)
  • JNG (JPEG Network Graphics)
  • JPEG 2000
  • JPG / JPEG (Joint Photographic Experts Group)
  • JPM (JPEG 2000 compound image)
  • MNG (Multiple-image Network Graphics)
  • PDN (PaintDotNet)
  • PGM (Portable Graymap)
  • PNG (Portable Network Graphics)
  • PPM (Portable Pixelmap)
  • PSB (Photoshop Large Document)
  • PSD (Photoshop Document)
  • TIF / TIFF (Tagged Image File Format)
  • WEBP (WebP)
  • XCF (eXperimental Computing Facility (GIMP))

Vector

  • AI (Adobe Illustrator)
  • EMF (Enhanced Metafile)
  • EMF+ (Enhanced Metafile)
  • SVG (Scalable Vector Graphics)
  • WMF (Windows Metafile Format)

Compound

  • SWF (Small Web Format, Flash)

RAW

  • 3FR (Hasselblad)
  • CR2 (Cannon)
  • CR3 (Canon)
  • DNG (Digital Negative - Adobe)
  • IIQ (Phase One)
  • ORF (Olympus)
  • PEF (Pentax)
  • RW2 (Panasonic)

HDR

  • JPEG-HDR
  • CIN (Cineon Image File Format, Kodak)
  • DPX (Digital Picture Exchange)
  • OpenEXR
  • PBM (Portable Bit Map HDR)
  • PFM (Portable Float Map)
  • Radiance HDR

Requirements

  • PHP 8.1+

Installation

  1. composer require selective/image-type

Usage

Detect the image type of file

  1. use Selective\ImageType\ImageTypeDetector;
  2. use Selective\ImageType\Provider\RasterProvider;
  3. use Selective\ImageType\Provider\HdrProvider;
  4. use Selective\ImageType\Provider\RawProvider;
  5. use Selective\ImageType\Provider\VectorProvider;
  6. use SplFileObject;
  7. $file = new SplFileObject('example.jpg');
  8. $detector = new ImageTypeDetector();
  9. // Add image detectors
  10. $detector->addProvider(new HdrProvider());
  11. $detector->addProvider(new RawProvider());
  12. $detector->addProvider(new VectorProvider());
  13. $detector->addProvider(new RasterProvider());
  14. $imageType = $detector->getImageTypeFromFile($file);
  15. // Get the image format
  16. echo $imageType->getFormat(); // jpeg
  17. // Get the mime type
  18. echo $imageType->getMimeType(); // image/jpeg

Detect the image type of in-memory object

  1. $image = new SplTempFileObject();
  2. $image->fwrite('my file content');
  3. $detector = new ImageTypeDetector();
  4. // Add image detectors
  5. $detector->addProvider(new RasterProvider());
  6. echo $detector->getImageTypeFromFile($file)->getFormat();

Similar libraries

License

  • MIT