PHP 8.4.1 Released!

imagewebp

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

imagewebpWebP görüntüyü tarayıcıya veya dosyaya çıktılar

Açıklama

imagewebp(GdImage $görüntü, resource|string|null $dosya = null, int $kalite = -1): bool

Belirtilen görüntü nesnesini çıktılar veya kaydeder.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

dosya

Dosyanın kaydedileceği yol veya işlev döndüğünde kendiliğinden kapanan açık bir akım kaynağı. null atanırsa veya hiçbir şey atanmazsa doğrudan ham görüntü akımı çıktılanır.

kalite

kalite 0 (en kötü kalite, daha küçük dosya) ile 100 (en iyi kalite, daha büyük dosya) arasında olmalıdır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Dikkat

Ancak, libgd görüntüyü çıktılamakta başarısız olursa bu işlev true döndürür.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - WebP görüntünün dosyaya kaydedilmesi

<?php
// Boş bir görüntü oluştur ve bir metin çiz
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);

imagestring($im, 1, 5, 5, 'WebP with PHP', $text_color);

// Görüntüyü kaydet
imagewebp($im, 'php.webp');

// Belleği serbest bırak
imagedestroy($im);
?>

add a note

User Contributed Notes 5 notes

up
31
vinicius dot sizilio at gmail dot com
4 years ago
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);

?>
up
32
Khalyomede
5 years ago
As of today (end of january 2019), WebP is now supported across all the major browsers (Edge, Chrome, Firefox, Opera).
up
22
JSix
2 years ago
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;
}
up
6
day4gerard
5 years ago
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.
up
1
Sam
3 years ago
Safari on mac now has limited support (limited to Safari 14+ on Big Sur or later)

Safari on iOS 14.4 and higher has full support
To Top