📅  最后修改于: 2023-12-03 15:03:40.150000             🧑  作者: Mango
contrastImage()
函数是一个用于调整图像对比度的PHP函数。它可以提高或降低图像的亮度差异,使图像更加清晰或更加柔和。
contrastImage()
函数接受三个参数:
$image_file
:需要调整的图像文件路径,可以是JPEG、PNG、GIF等图片格式。$contrast
:对比度调整值,值越大对比度越高,值越小对比度越低。取值范围为-255到255,0表示不调整对比度。$output_file
:调整后图像的保存路径和文件名,文件格式和原始文件格式相同。function contrastImage($image_file, $contrast, $output_file) {
$image_info = getimagesize($image_file);
$image_type = $image_info[2];
if (in_array($image_type, [IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_GIF])) {
if ($image_type == IMAGETYPE_JPEG) {
$image = imagecreatefromjpeg($image_file);
} elseif ($image_type == IMAGETYPE_PNG) {
$image = imagecreatefrompng($image_file);
} elseif ($image_type == IMAGETYPE_GIF) {
$image = imagecreatefromgif($image_file);
}
imagefilter($image, IMG_FILTER_CONTRAST, $contrast);
if ($image_type == IMAGETYPE_JPEG) {
imagejpeg($image, $output_file);
} elseif ($image_type == IMAGETYPE_PNG) {
imagepng($image, $output_file);
} elseif ($image_type == IMAGETYPE_GIF) {
imagegif($image, $output_file);
}
imagedestroy($image);
} else {
throw new \InvalidArgumentException('Invalid image type.');
}
}
try {
contrastImage('image.jpg', 50, 'output.jpg');
} catch(\InvalidArgumentException $e) {
echo 'Invalid argument: ' . $e->getMessage();
}
imagecreatefrompng()
函数时,需要注意PNG图片的透明度,否则可能导致图像变黑。