2024 年 PHP 大会日本站

Imagick::getImageRenderingIntent

(PECL imagick 2, PECL imagick 3)

Imagick::getImageRenderingIntent获取图像渲染意图

描述

public Imagick::getImageRenderingIntent(): int

获取图像渲染意图。

参数

此函数没有参数。

返回值

返回图像的 渲染意图

错误/异常

发生错误时抛出 ImagickException。

添加注释

用户贡献的注释 1 条注释

0
holdoffhunger at gmail dot com
12 年前
渲染意图变量存在于 ImageMagick 中,用于提供对 ICC 颜色配置文件的支持。从 getRenderingIntent 函数可以获得五个结果,它们是 ImageMagick 中渲染意图的预定义常量。这些值类似于“imagick::RENDERINGINTENT_UNDEFINED”,其“_VALUE”值分别为:未定义、饱和度、感知、绝对和相对。打印出来,未定义为 0,饱和度为 1,感知为 2,绝对为 3,相对为 4。

ImageMagick 的官方文档很好地解释了这些值的含义。( https://imagemagick.org.cn/RMagick/doc/constants.html#RenderingIntent )未定义表示“无意图”,饱和度表示“一种渲染意图,它指定图像中像素的饱和度得到保留,这可能会以色相和亮度精度为代价”,感知意图表示“一种渲染意图,它指定图像的完整色域被压缩或扩展以填充目标设备的色域。灰平衡得到保留,但颜色精度可能无法保留”,绝对意图表示“绝对颜色”,相对意图表示“相对颜色”。

每次运行此函数时,它总是产生相同的结果:#2,表示感知意图。但这很有意义,因为 ImageMagick 文档关于渲染意图的说明是:“通常,用户或应用程序会在运行时或嵌入时动态设置渲染意图”。ImageMagick 文档还推荐了以下链接,以便更好地理解颜色空间配置文件方面的渲染意图: http://www.cambridgeincolour.com/tutorials/color-space-conversion.htm

一些示例代码

<?php

// 作者:[email protected]

// Imagick 类型
// ---------------------------------------------

$imagick_type = new Imagick();

// 打开文件
// ---------------------------------------------

$file_to_grab = "image_workshop_directory/test.jpg";

$file_handle_for_viewing_image_file = fopen($file_to_grab, 'a+');

// 获取文件
// ---------------------------------------------

$imagick_type->readImageFile($file_handle_for_viewing_image_file);

// 获取渲染意图值
// ---------------------------------------------

$imagick_rendering_intent = $imagick_type->getImageRenderingIntent();

switch(
$imagick_rendering_intent)
{
case
'0':
$image_rendering_intent_evaluated = "Undefined";
break;

case
'1':
$image_rendering_intent_evaluated = "Saturation";
break;

case
'2':
$image_rendering_intent_evaluated = "Perceptual";
break;

case
'3':
$image_rendering_intent_evaluated = "Absolute";
break;

case
'4':
$image_rendering_intent_evaluated = "Relative";
break;
}

// 打印渲染意图值
// ---------------------------------------------

print("# $imagick_rendering_intent - $image_rendering_intent_evaluated");

?>
To Top