As of today (end of january 2019), WebP is now supported across all the major browsers (Edge, Chrome, Firefox, Opera).imagewebp
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
imagewebp
Референца за `function.imagewebp.php` со подобрена типографија и навигација.
imagewebp
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
imagewebp — Излезте со WebP слика во прелистувач или датотека
= NULL
Излегува или зачувува WebP верзија од даденото image.
Параметри
-
image А GdImage не применува никакво полнење, така што ширината на сликата мора да биде множител на 8. Ова ограничување веќе не важи од PHP 7.0.9. imagecreatetruecolor().
file-
Патеката или отворен ресурс на поток (што автоматски се затвора откако оваа функција ќе се врати) за да се зачува датотеката. Ако не е поставено или
nullПатеката за зачувување на датотеката, дадена како quality-
qualityсе движи од 0 (најлош квалитет, помала датотека) до 100 (најдобар квалитет, најголема датотека). Ако-1е обезбедено, стандардната вредност80се користи.
Вратени вредности
Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.
. Стандардната боја на преден план е црна. Сите други бои се третираат како позадина. true.
Errors/Exceptions
Фрла ValueError if quality е невалидна. Пред PHP 8.4.0, невалиден режим би се прифатил тивко како
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.4.0 |
Сега фрла ValueError if quality е невалидна. Пред PHP 8.4.0, невалиден режим би се прифатил тивко како
|
| 8.0.0 |
image беше вратено при неуспех. GdImage
инстанца сега; претходно, валидна gd resource се очекуваше.
|
Примери
Пример #1 Зачувување WebP датотека
<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'WebP with PHP', $text_color);
// Save the image
imagewebp($im, 'php.webp');
?>Белешки од корисници 5 белешки
To convert a PNG image to Webp, we can do this:
<?php
// Image
$dir = 'img/countries/';
$name = 'brazil.png';
$newName = 'brazil.webp';
// Create and save
$img = imagecreatefrompng($dir . $name);
imagepalettetotruecolor($img);
imagealphablending($img, true);
imagesavealpha($img, true);
imagewebp($img, $dir . $newName, 100);
imagedestroy($img);
?>Function to save any image to Webp
public static function webpImage($source, $quality = 100, $removeOld = false)
{
$dir = pathinfo($source, PATHINFO_DIRNAME);
$name = pathinfo($source, PATHINFO_FILENAME);
$destination = $dir . DIRECTORY_SEPARATOR . $name . '.webp';
$info = getimagesize($source);
$isAlpha = false;
if ($info['mime'] == 'image/jpeg')
$image = imagecreatefromjpeg($source);
elseif ($isAlpha = $info['mime'] == 'image/gif') {
$image = imagecreatefromgif($source);
} elseif ($isAlpha = $info['mime'] == 'image/png') {
$image = imagecreatefrompng($source);
} else {
return $source;
}
if ($isAlpha) {
imagepalettetotruecolor($image);
imagealphablending($image, true);
imagesavealpha($image, true);
}
imagewebp($image, $destination, $quality);
if ($removeOld)
unlink($source);
return $destination;
}WebP is not yet supported by Safari, although they are experimenting with it.
Check out https://caniuse.com/#search=webp for the latest support information.