- PHP ImageMagick 教程
- PHP ImageMagick - 首页
- PHP ImageMagick - 简介
- 背景颜色
- 图像倒影
- 图像裁剪
- 图像边框
- 图像缩放
- 图像合成
- 对比度与亮度
- 增强与均衡
- 锐化与模糊
- 图像平铺
- 图像阈值
- 颜色修改
- 不同的效果
- 保护图像
- 素描模拟
- 编辑外观
- 旋转和滚动
- 拼接与扩展
- 其他功能
- PHP ImageMagick 有用资源
- PHP ImageMagick - 快速指南
- PHP ImageMagick - 资源
- PHP ImageMagick - 讨论
PHP ImageMagick - 对比度与亮度
借助对比度,可以表达图像中不同的情绪。“对比度”指的是颜色或灰度差异的程度。与低对比度图像相比,高对比度图像通常显示出更大程度的颜色或灰度变化。本章将学习如何更改和调整对比度和亮度。
更改对比度
在本节中,您将学习更改对比度的过程。这可以使用 ImageMagick 提供的一种名为‘contrastImage()’ 的方法来完成。它有助于增强图像中较亮和较暗元素之间的差异。
语法
public Imagick::contrastImage(bool $sharpen): bool
此方法包含一个参数“sharpen”。它是一个布尔值,指定锐化值。此方法将图像作为输入,并将更改对比度后的图像作为输出。
示例
在下面的示例中,创建了一个新的 Imagick 对象并获取输入图像。然后,将contrastImage() 函数应用于该图像。最后,以“contrastImage.png”格式获得输出图像。
<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.jpeg"); $image->contrastImage(true); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/contrastImage.png"); ?>
假设以下是程序中的输入图像 (image.jpeg) −
输出
更改亮度
ImageMagick 提供了一种名为‘brightnessContrastImage()’ 的方法,该方法可以更改图像的亮度和对比度。它将亮度和对比度参数转换为斜率和截距,并调用多项式函数将其应用于图像。
语法
Public Imagick::brightnessContrastImage(float $brightness, float $contrast, int $channel=Imagick::CHANNEL_DEFAULT):bool
此方法包含三个参数:亮度、对比度和通道。“亮度” 用于存储亮度值,“对比度”用于存储图像对比度值,“通道”用于存储通道值。获得的输出是添加了亮度和对比度的图像。
示例
在下面的示例中,创建了一个新的 Imagick 对象并获取输入图像。然后,将‘brightnessContrastImage()’ 函数(参数为 brightness=15, contrast=20)应用于该图像。最后,以“brightnessContrastImage.png”格式获得输出图像。
<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image5.jpeg"); $image->brightnessContrastImage(15,50); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/brightnessContrastImage.png"); ?>
假设以下是程序中的输入图像 (image5.jpeg) −
输出
增强对比度
增强是提高图像质量的过程。为了增强对比度,ImageMagick 提供了一种名为‘contrastStretchImage()’ 的方法,该方法通过调整像素颜色以跨越所有可用颜色范围来增强彩色图像的对比度。
语法
public Imagick::contrastStretchImage(float $black_point, float $white_point, int $channel = Imagick::CHANNEL_DEFAULT): bool
此方法具有三个参数:black_point、white_point 和 channel。“black_point”指定黑点,“white_point”指定白点,“channel”提供任何对您的通道模式有效的通道常量。
示例
在下面的示例中,创建了一个新的 Imagick 对象并获取输入图像。然后,将‘contrastStretchImage()’ 函数(参数为 black_point=1000, white_point=5000)应用于该图像。最后,以“contrastStretchImage.png”格式获得输出图像。
此方法具有三个参数:black_point、white_point 和 channel。“black_point”指定黑点,“white_point”指定白点,“channel”提供任何对您的通道模式有效的通道常量。
<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.jpeg"); $image->contrastStretchImage(1000, 5000); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/contrastStretchImage.png"); ?>
假设以下是程序中的输入图像 (image.jpeg) −
输出