- 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) −
輸出