php - 如何在 PHP 中识别 CMYK 图像

标签 php image-processing

谁能告诉我如何使用 PHP 识别 CMYK 或 RGB 图像?

最佳答案

好好看看getimagesize .

例子:

<?php
$size = getimagesize($filename);
$fp = fopen($filename, "rb");
if ($size && $fp) {
    header("Content-type: {$size['mime']}");
    fpassthru($fp);
    exit;
} else {
    // error
}
?>

它返回一个包含 7 个元素的数组。

索引 0 和 1 分别包含图像的宽度和高度。

索引 2 是指示图像类型的 IMAGETYPE_XXX 常量之一。

索引 3 是一个文本字符串,具有正确的 height="yyy"width="xxx"字符串,可以直接在 IMG 标签中使用。

mime 是图片对应的 MIME 类型。此信息可用于传送具有正确 HTTP Content-type header 的图像: RGB 图片 channel 为 3 个,CMYK 图片 channel 为 4 个。

bits 是每种颜色的位数。

对于某些图像类型, channel 和位值的存在可能有点困惑。例如,GIF 始终使用每个像素 3 个 channel ,但是对于具有全局颜色表的动画 GIF 无法计算每个像素的位数。

失败时,返回 FALSE。

关于php - 如何在 PHP 中识别 CMYK 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7873575/

相关文章:

php - 如何让 SELECT...WHERE IN 为 AND 而不仅仅是 OR 工作?

php - 如何在 Laravel 中返​​回唯一值

java - 线路检测 |用Java进行角度检测

python - 简单的 "blurring"数组表示来自第一原理的 python 中的图像

python - PySide:将 spritesheet 分离/将图像分离为连续的颜色区域

java - 在 AWT 应用程序中处理图像解密 key

分配有 and 的 PHP 数组

php - 我有两个 if 和一个 else 条件,但 else 条件不起作用并且总是显示

c++ - Qt 图像中的可点击区域?

php - 验证序列中的表单字段