Rumah >pembangunan bahagian belakang >tutorial php >Ringkasan dan aplikasi fungsi pemprosesan imej PHP

Ringkasan dan aplikasi fungsi pemprosesan imej PHP

WBOY
WBOYasal
2023-06-15 23:43:40811semak imbas

PHP ialah bahasa pengaturcaraan yang digunakan secara meluas dalam pembangunan web, di mana pemprosesan imej adalah tugas biasa. PHP menyediakan banyak fungsi pemprosesan imej yang boleh memproses imej dengan mudah. Artikel ini akan memberi anda gambaran keseluruhan senario penggunaan dan aplikasi fungsi pemprosesan imej PHP.

  1. Dapatkan maklumat imej

Dalam PHP, anda boleh mendapatkan maklumat asas imej melalui fungsi getimagesize, termasuk lebar, ketinggian, jenis dan saiz fail imej, dsb. Berikut ialah contoh kod:

<?php
// 图片路径
$imgPath = 'example.jpg';

// 获取图片信息
$imgInfo = getimagesize($imgPath);

// 输出图片信息
echo 'Width: ' . $imgInfo[0] . 'px<br>';
echo 'Height: ' . $imgInfo[1] . 'px<br>';
echo 'Type: ' . $imgInfo['mime'] . '<br>';
echo 'Size: ' . filesize($imgPath) . 'bytes<br>';
?>
  1. Ubah saiz imej

Dalam PHP, anda boleh menggunakan fungsi imagecreate untuk mencipta objek imej kosong, dan kemudian gunakan imagecopyresampled berfungsi untuk menyalin Skala imej asal kepada saiz yang ditentukan. Berikut ialah contoh kod:

<?php
// 原始图片路径
$srcPath = 'example.jpg';

// 缩放后图片路径
$dstPath = 'example_resized.jpg';

// 目标宽度和高度
$dstWidth = 200;
$dstHeight = 150;

// 创建空白图片对象
$dstImg = imagecreatetruecolor($dstWidth, $dstHeight);

// 加载原始图片
$srcImg = imagecreatefromjpeg($srcPath);

// 缩放图片
imagecopyresampled($dstImg, $srcImg, 0, 0, 0, 0, $dstWidth, $dstHeight, imagesx($srcImg), imagesy($srcImg));

// 保存缩放后图片
imagejpeg($dstImg, $dstPath);

// 释放图片资源
imagedestroy($dstImg);
imagedestroy($srcImg);
?>
  1. Pemotongan imej

Dalam PHP, gunakan fungsi imagecopy untuk menyalin sebahagian daripada imej ke imej lain. Berikut ialah kod sampel:

<?php
// 原始图片路径
$srcPath = 'example.jpg';

// 裁剪后图片路径
$dstPath = 'example_cropped.jpg';

// 目标宽度和高度
$dstWidth = 200;
$dstHeight = 150;

// 创建空白图片对象
$dstImg = imagecreatetruecolor($dstWidth, $dstHeight);

// 加载原始图片
$srcImg = imagecreatefromjpeg($srcPath);

// 计算裁剪位置
$srcX = (imagesx($srcImg) - $dstWidth) / 2;
$srcY = (imagesy($srcImg) - $dstHeight) / 2;

// 裁剪图片
imagecopy($dstImg, $srcImg, 0, 0, $srcX, $srcY, $dstWidth, $dstHeight);

// 保存裁剪后图片
imagejpeg($dstImg, $dstPath);

// 释放图片资源
imagedestroy($dstImg);
imagedestroy($srcImg);
?>
  1. Tanda air gambar

Dalam PHP, anda boleh menggunakan fungsi rentetan imej untuk menambah tera air teks pada gambar, atau anda boleh menggunakan salinan imej berfungsi untuk menambah tera air teks pada gambar. Tera air gambar ditambah pada gambar. Berikut ialah kod sampel:

<?php
// 原始图片路径
$srcPath = 'example.jpg';

// 水印图片路径
$watermarkPath = 'watermark.png';

// 输出图片路径
$dstPath = 'example_watermarked.jpg';

// 加载原始图片和水印图片
$srcImg = imagecreatefromjpeg($srcPath);
$watermarkImg = imagecreatefrompng($watermarkPath);

// 计算水印位置
$x = imagesx($srcImg) - imagesx($watermarkImg) - 10;
$y = imagesy($srcImg) - imagesy($watermarkImg) - 10;

// 添加水印
imagecopy($srcImg, $watermarkImg, $x, $y, 0, 0, imagesx($watermarkImg), imagesy($watermarkImg));

// 输出水印图片
imagejpeg($srcImg, $dstPath);

// 释放图片资源
imagedestroy($srcImg);
imagedestroy($watermarkImg);
?>
  1. Penapis Imej

Dalam PHP, anda boleh menggunakan fungsi penapis imej untuk menambah pelbagai kesan penapis, termasuk pengesanan tepi, timbul dan kabur dsb. Berikut ialah contoh kod:

<?php
// 原始图片路径
$srcPath = 'example.jpg';

// 滤镜后图片路径
$dstPath = 'example_filtered.jpg';

// 加载原始图片
$srcImg = imagecreatefromjpeg($srcPath);

// 添加滤镜
imagefilter($srcImg, IMG_FILTER_EDGEDETECT);

// 输出滤镜后图片
imagejpeg($srcImg, $dstPath);

// 释放图片资源
imagedestroy($srcImg);
?>

Ringkasnya, PHP menyediakan pelbagai fungsi pemprosesan imej yang boleh membantu kami memproses imej dengan mudah. Dalam aplikasi praktikal, fungsi pemprosesan imej yang berbeza boleh dipilih mengikut keperluan khusus untuk mencapai hasil yang terbaik.

Atas ialah kandungan terperinci Ringkasan dan aplikasi fungsi pemprosesan imej PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn