Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PHP untuk melaksanakan kesan penapis imej

Cara menggunakan PHP untuk melaksanakan kesan penapis imej

WBOY
WBOYasal
2023-08-17 22:51:24803semak imbas

Cara menggunakan PHP untuk melaksanakan kesan penapis imej

Cara menggunakan PHP untuk mencapai kesan penapis pada imej

Abstrak:
Dalam pembangunan web, untuk meningkatkan pengalaman pengguna, imej sering ditapis. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan kesan penapis imej dan membantu pembaca bermula dengan cepat melalui contoh kod mudah.

1. Persediaan
Sebelum bermula, anda perlu memastikan bahawa perpustakaan PHP dan GD telah dipasang. Pustaka GD ialah perpustakaan sambungan PHP untuk memproses imej. Anda boleh memasangnya melalui arahan berikut:

sudo apt-get install php-gd

Selepas pemasangan selesai, anda perlu mendayakan perpustakaan GD dalam fail php.ini dan nyahkomen baris berikut:

extension=gd2

Mulakan semula pelayan web untuk perubahan berkuat kuasa .

2. Pemprosesan imej

  1. Muat imej asal
    Pertama, kita perlu memuatkan imej asal. Anda boleh menggunakan fungsi imagecreatefromjpeg, imagecreatefrompng atau imagecreatefromgif PHP untuk memilih fungsi yang sepadan mengikut format imej. Berikut ialah contoh kod: imagecreatefromjpegimagecreatefrompngimagecreatefromgif函数,根据图片的格式来选择对应的函数。以下是一个示例代码:

    $photo = imagecreatefromjpeg('original.jpg');
  2. 创建滤镜效果
    接下来,我们可以创建不同的滤镜效果。下面是几种常见的滤镜效果示例代码:
    (1)灰度滤镜

    imagefilter($photo, IMG_FILTER_GRAYSCALE);

    (2)反转滤镜

    imagefilter($photo, IMG_FILTER_NEGATE);

    (3)亮度调整

    imagefilter($photo, IMG_FILTER_BRIGHTNESS, 30);

    (4)对比度调整

    imagefilter($photo, IMG_FILTER_CONTRAST, -20);

    (5)模糊滤镜

    imagefilter($photo, IMG_FILTER_GAUSSIAN_BLUR);
  3. 保存处理后的图片
    处理完滤镜效果后,可以使用imagejpegimagepngimagegif函数将图片保存为相应的格式。以下是一个保存为JPEG格式的示例代码:

    imagejpeg($photo, 'filtered.jpg');
  4. 输出处理后的图片
    如果想直接在浏览器中显示处理后的图片,可以使用headerimagejpeg等函数进行输出。以下是一个示例代码:

    header('Content-Type: image/jpeg');
    imagejpeg($photo);
  5. 销毁图片资源
    在处理完滤镜效果后,需要使用imagedestroy

    imagedestroy($photo);

Mencipta kesan penapis

Seterusnya, kita boleh mencipta kesan penapis yang berbeza. Berikut ialah beberapa kod sampel kesan penapis biasa:
(1) Penapis skala kelabu

rrreee

(2) Penapis songsang

rrreee
    (3) Pelarasan kecerahan
  1. rrreee
  2. (4) Pelarasan kontras
  3. rreee
  4. Penapis Blurreee ( 5) Penapis Blurreee ( 5)
🎜Simpan imej yang diproses🎜Selepas memproses kesan penapis, anda boleh menggunakan imagejpeg, imagepng atau imagegifFungsi menyimpan imej ke yang sepadan format. Berikut ialah contoh kod yang disimpan dalam format JPEG: 🎜rrreee🎜🎜🎜Output imej yang diproses🎜Jika anda ingin memaparkan imej yang diproses terus dalam penyemak imbas, anda boleh menggunakan header dan imagejpeg Tunggu sehingga fungsi keluar. Berikut ialah kod sampel: 🎜rrreee🎜🎜🎜Memusnahkan sumber imej🎜Selepas memproses kesan penapis, anda perlu menggunakan fungsi imagedestroy untuk memusnahkan sumber imej untuk melepaskan memori. Berikut ialah contoh kod: 🎜rrreee🎜🎜🎜 3. Ringkasan🎜Artikel ini memperkenalkan cara menggunakan PHP untuk mencapai kesan penapis gambar. Dengan memuatkan imej asal, mencipta kesan penapis yang berbeza, menyimpan imej yang diproses dan mengeksport imej yang diproses, anda boleh mencapai kesan penapis imej dengan mudah. Pembaca boleh melaraskan parameter penapis mengikut keperluan untuk mencapai hasil yang memuaskan. 🎜🎜Bahan rujukan: 🎜🎜🎜Dokumentasi rasmi PHP: http://php.net/manual/zh/ref.image.php 🎜🎜Dokumentasi rasmi perpustakaan GD: http://php.net/manual/zh/book. image.php🎜🎜

Atas ialah kandungan terperinci Cara menggunakan PHP untuk melaksanakan kesan penapis imej. 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