Computer >> Máy Tính >  >> Lập trình >> PHP

Làm cách nào để thiết lập cờ hòa trộn alpha để sử dụng hiệu ứng phân lớp bằng cách sử dụng hàm imagelayereffect () trong PHP?

imageelayereffect () là một hàm có sẵn trong PHP được sử dụng để đặt cờ trộn alpha để sử dụng các hiệu ứng phân lớp. Nó trả về True khi thành công hoặc False khi thất bại.

Cú pháp

bool imagelayereffect($image, $effect)

Tham số

imageelayereffect () có hai tham số khác nhau: $ image $ effect .

  • $ hình ảnh - Tham số này được trả về bởi hàm tạo ảnh imageecreatetruecolor (). Nó được sử dụng để tạo kích thước của hình ảnh.

  • $ effect - Tham số này được sử dụng để đặt giá trị của cờ hòa trộn, sử dụng các hằng số hiệu ứng khác nhau, được đưa ra bên dưới -

    • IMG_EFFECT_REPLACE - Nó được sử dụng để thiết lập thay thế pixel. Nó tương tự hơn với việc truyền true cho hàm imagealphablending ().

    • IMG_EFFETC_ALPHABLEND - Nó được sử dụng để thiết lập sự hòa trộn pixel thông thường. Điều này tương đương với việc chuyển false cho hàm imagealphablending ().

    • IMG_EFFECT_NORMAL - Nó giống với IMG_EFFETC_ALPHABLEND.

    • IMG_EFFETC_OVERLAY - Bằng cách sử dụng IMG_EFFECT_OVERLAY, các pixel nền màu trắng sẽ vẫn là màu trắng và các pixel nền màu đen sẽ vẫn là màu đen nhưng các pixel nền xám sẽ lấy màu của pixel nền trước.

    • IMG_EFFETC_MULTIPLY - Điều này sẽ thiết lập hiệu ứng nhân lên.

Giá trị trả lại

imageelayereffect () trả về Đúng khi thành công và Sai khi thất bại.

Ví dụ 1

<?php
   // Setup an image using imagecreatetruecolor() function
   $img = imagecreatetruecolor(700, 300);
   
   // Set a background color
   imagefilledrectangle($img, 0, 0, 150, 150, imagecolorallocate($img, 122, 122, 122));

   // Apply the overlay alpha blending flag
   imagelayereffect($img, IMG_EFFECT_OVERLAY);

   // Draw two grey ellipses
   imagefilledellipse($img, 50, 50, 40, 40, imagecolorallocate($img, 100, 255, 100));
   imagefilledellipse($img, 50, 50, 50, 80, imagecolorallocate($img, 100, 100, 255));
   imagefilledellipse($img, 50, 50, 80, 50, imagecolorallocate($img, 255, 0, 0));

   // Output image
   header('Content-type: image/png');
   imagepng($img);
   imagedestroy($img);
?>

Đầu ra

Làm cách nào để thiết lập cờ hòa trộn alpha để sử dụng hiệu ứng phân lớp bằng cách sử dụng hàm imagelayereffect () trong PHP?

Ví dụ 2

<?php
   // Setup an image using imagecreatetruecolor() function.
   $img = imagecreatetruecolor(700, 200);

   // Set a background color
   imagefilledrectangle($img, 0, 0, 200, 200, imagecolorallocate($img, 122, 122, 122));

   // Apply the overlay alpha blending flag
   imagelayereffect($img, IMG_EFFECT_REPLACE);

   // Draw two grey ellipses
   imagefilledellipse($img,100,100,160,160, imagecolorallocate($img,0,0,0));
   imagefilledellipse($img,100,100,140,140, imagecolorallocate($img,0,0,255));
   imagefilledellipse($img,100,100,100,100, imagecolorallocate($img,255,0,0));

   // Output image
   header('Content-type: image/png');
   imagepng($img);
   imagedestroy($img);
?>

Đầu ra

Làm cách nào để thiết lập cờ hòa trộn alpha để sử dụng hiệu ứng phân lớp bằng cách sử dụng hàm imagelayereffect () trong PHP?