引言
图片读取
<?php
$image = imagecreatefromjpeg('path/to/image.jpg');
if (!$image) {
die('无法读取图片');
}
?>
图片显示
<?php
$image = imagecreatefromjpeg('path/to/image.jpg');
header('Content-Type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
?>
图片编辑
<?php
$image = imagecreatefromjpeg('path/to/image.jpg');
$width = imagesx($image);
$height = imagesy($image);
$gray_image = imagecreatetruecolor($width, $height);
imagefill($gray_image, 0, 0, imagecolorallocate($gray_image, 128, 128, 128));
for ($x = 0; $x < $width; $x++) {
for ($y = 0; $y < $height; $y++) {
$rgb = imagecolorsforindex($image, imagecolorat($image, $x, $y));
$gray = (int)($rgb['red'] * 0.3 + $rgb['green'] * 0.59 + $rgb['blue'] * 0.11);
imagesetpixel($gray_image, $x, $y, imagecolorallocate($gray_image, $gray, $gray, $gray));
}
}
header('Content-Type: image/jpeg');
imagejpeg($gray_image);
imagedestroy($gray_image);
imagedestroy($image);
?>
这里,首先创建了一个灰度图像资源。然后,通过遍历原始图像的每个像素,计算其灰度值,并将灰度值设置到新图像的相应位置。最后,输出灰度图像。
图片上传
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$file = $_FILES['file'];
$upload_path = 'uploads/' . basename($file['name']);
if (move_uploaded_file($file['tmp_name'], $upload_path)) {
echo '文件上传成功';
} else {
echo '文件上传失败';
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="上传" />
</form>
这里,首先检查是否为POST请求。然后,获取上传的文件信息,并将其移动到指定的上传目录。如果移动成功,输出“文件上传成功”;否则,输出“文件上传失败”。