Code Tu Tam

Hàm imagewebp() trong PHP là gì ?

Rate this post

Hàm imagewebp() trong PHP có nhiệm vụ xuất ra một file ảnh định dạng webp ra trình duyệt hoặc thư mục. Cú pháp hàm imagewebp() trong PHP như sau:

imagewebp ( resource $image [, mixed $to = NULL [, int $quality = 80 ]] ) : bool

Tham số truyền vào 

 

Giá trị trả về

Hàm này trả về TRUE nếu thành công và FALSE nếu thất bại.

Ví dụ minh họa

<?php
// Tạo một khung ảnh
$im = imagecreatetruecolor(120, 20);
//Xác định màu sắc của nội dung
$text_color = imagecolorallocate($im, 233, 14, 91);
//Xác định cỡ font-size, vị trí toạ đố X - Y của TEXT và Giá trị của TEXT
imagestring($im, 1, 5, 5,  'WebP with PHP', $text_color);

// Lưu hình ảnh và tên
imagewebp($im, 'php.webp');

// Xoá thông tin về hình ảnh khỏi bộ nhớ
imagedestroy($im);

?>

Và kết quả trả về tương ứng sẽ là một file ảnh webp có nội dung như bên dưới.

Ứng dụng

<?php

// Image
$dir 'img/countries/';
$name 'brazil.png';
$newName 'brazil.webp';

// Create and save
$img imagecreatefrompng($dir $name);
imagepalettetotruecolor($img);
imagealphablending($imgtrue);
imagesavealpha($imgtrue);
imagewebp($img$dir $newName100);
imagedestroy($img);

?>

Trong ví dụ trên bạn có thể sử dụng hàm này kết hợp với các hàm khác để chuyển đổi các hình ảnh từ định dạng khác sang định dạng ảnh webp.

Một ví dụ khác cũng là việc chuyển đổi từ định dạng ảnh PNG sang ảnh Webp.

function compress_png($path_to_png_file, $max_quality = 90)
{
    if (!file_exists($path_to_png_file)) {
        throw new Exception("File does not exist: $path_to_png_file");
    }

    // guarantee that quality won't be worse than that.
    $min_quality = 60;

    // '-' makes it use stdout, required to save to $compressed_png_content variable
    // '<' makes it read from the given file path
    // escapeshellarg() makes this safe to use with any path
    $compressed_png_content = shell_exec("pngquant --quality=$min_quality-$max_quality - < ".escapeshellarg(    $path_to_png_file));

    if (!$compressed_png_content) {
        throw new Exception("Conversion to compressed PNG failed. Is pngquant 1.8+ installed on the server?");
    }

    return $compressed_png_content;
}
$read_from_path $_FILE['file']['tmp_name'];
//url file
$save_to_path "uploads/compressed_file.png";
//url save file

$compressed_png_content compress_png($read_from_path);
file_put_contents($save_to_path$compressed_png_content);

imagewebp(imagecreatefrompng($read_from_path), $save_to_path ".webp");
?>

Các hàm liên quan

Hi vọng với bài viết này, bạn đã hiểu rõ cách sử dụng hàm imagewebp() trong PHP. Nếu thấy bài viết hay và ý nghĩa, hãy like và chia sẻ với bạn bè để mọi người cùng nhau học tập nhé. Cảm ơn bạn đã ghé thăm codetutam.com    

Exit mobile version