选择/图像类型

图像类型检测

1.2.0 2023-09-09 19:21 UTC

This package is auto-updated.

Last update: 2024-09-09 21:48:02 UTC


README

PHP图像类型检测库。

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

特点

  • 基于内容(头部)检测图像类型
  • 无依赖
  • 非常快速

支持的格式

位图

  • ANI (动画光标)
  • BMP (Windows位图)
  • CUR (光标)
  • DICOM (医学数字图像和通信)
  • GIF (图形交换格式)
  • HEIF / HEIC (高效率图像文件格式) / Apple iPhone照片
  • ICO (图标)
  • JNG (JPEG网络图形)
  • JPEG 2000
  • JPG / JPEG (联合图像专家小组)
  • JPM (JPEG 2000复合图像)
  • MNG (多图像网络图形)
  • PDN (PaintDotNet)
  • PGM (可移植灰度图)
  • PNG (可移植网络图形)
  • PPM (可移植像素图)
  • PSB (Photoshop大型文档)
  • PSD (Photoshop文档)
  • TIF / TIFF (标记图像文件格式)
  • WEBP (WebP)
  • XCF (eXperimental Computing Facility (GIMP))

矢量图

  • AI (Adobe Illustrator)
  • EMF (增强元文件)
  • EMF+ (增强元文件)
  • SVG (可缩放矢量图形)
  • WMF (Windows元文件格式)

复合格式

  • SWF (小型Web格式,Flash)

RAW

  • 3FR (哈苏)
  • CR2 (佳能)
  • CR3 (佳能)
  • DNG (数字负片 - Adobe)
  • IIQ (Phase One)
  • ORF (奥林巴斯)
  • PEF (宾得)
  • RW2 (松下)

HDR

  • JPEG-HDR
  • CIN (Cineon图像文件格式,柯达)
  • DPX (数字图片交换)
  • OpenEXR
  • PBM (可移植位图HDR)
  • PFM (可移植浮点图)
  • Radiance HDR

要求

  • PHP 8.1+

安装

composer require selective/image-type

使用

检测文件的图像类型

use Selective\ImageType\ImageTypeDetector;
use Selective\ImageType\Provider\RasterProvider;
use Selective\ImageType\Provider\HdrProvider;
use Selective\ImageType\Provider\RawProvider;
use Selective\ImageType\Provider\VectorProvider;
use SplFileObject;

$file = new SplFileObject('example.jpg');

$detector = new ImageTypeDetector();

// Add image detectors
$detector->addProvider(new HdrProvider());
$detector->addProvider(new RawProvider());
$detector->addProvider(new VectorProvider());
$detector->addProvider(new RasterProvider());

$imageType = $detector->getImageTypeFromFile($file);

// Get the image format
echo $imageType->getFormat(); // jpeg

// Get the mime type
echo $imageType->getMimeType(); // image/jpeg

检测内存中对象的图像类型

$image = new SplTempFileObject();

$image->fwrite('my file content');

$detector = new ImageTypeDetector();

// Add image detectors
$detector->addProvider(new RasterProvider());

echo $detector->getImageTypeFromFile($file)->getFormat();

类似库

许可证

  • MIT