返回顶部
首页 > PHP中Imagick::levelImage 什么意思?如何使用?
  • 24
分享到

PHP中Imagick::levelImage 什么意思?如何使用?

2024年02月29日 24人浏览 编程网

摘要

Imagick::levelImage() 方法是 PHP Imagick 扩展中的一个函数,用于调整图像的色调、阴影和对比度。它允许您将指定的输入范围映射到指定的输出范围,从而控制图像中像素颜色的分布。

详细说明

语法

Imagick::levelImage(float $blackPoint, float $whitePoint, float $gamma)

参数

  • $blackPoint: 指定输入图像中黑色点的输入值。
  • $whitePoint: 指定输入图像中白色点的输入值。
  • $gamma: 指定输入范围和输出范围之间的伽马校正值。

功能

Imagick::levelImage() 方法通过执行以下步骤来调整图像的色调、阴影和对比度:

  1. 确定输入范围:计算输入图像中黑色点和白色点的阈值。
  2. 映射输入值:将输入图像中的像素值映射到输入范围 [0, 1]。
  3. 应用伽马校正:将映射后的输入值应用伽马函数,其中 gamma 值控制调整的程度。
  4. 映射输出值:将伽马校正后的值映射到指定的输出范围 [0, 1]。
  5. 调整像素颜色:将映射后的输出值应用于图像中的像素颜色,从而调整其色调、阴影和对比度。

用法

要使用 Imagick::levelImage() 方法,请执行以下步骤:

  1. 创建一个 Imagick 对象并加载图像。
  2. 调用 Imagick::levelImage() 方法,指定黑色点、白色点和伽马校正值。
  3. 存储或显示修改后的图像。

示例

以下示例演示了如何使用 Imagick::levelImage() 方法调整图像的对比度:

$image = new Imagick("image.jpg");

$image->levelImage(0.1, 0.9, 1.5);

$image->writeImage("adjusted-contrast-image.jpg");

此示例将图像的黑色点设置为 0.1,白色点设置为 0.9,并应用伽马校正值 1.5,从而增加图像的对比度。

附加注意事项

  • 黑色点和白色点值必须在 [0, 1] 范围内。
  • 伽马校正值大于 1.0 会增加图像的对比度,而小于 1.0 会降低对比度。
  • 该方法会永久更改图像。要保留原始图像,请在调用该方法之前复制它。

以上就是PHP中Imagick::levelImage 什么意思?如何使用?的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: PHP中Imagick::levelImage 什么意思?如何使用?

本文链接: https://www.lsjlt.com/wiki/dd73486daf.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作