Back to PhocacartImageMagic class

Method doWebpCopy

public static
doWebpCopy
(mixed $image1, mixed $dst, mixed $src, mixed $fileOut, mixed $jfile_thumbs, mixed &$errorMsg)

Method doWebpCopy - Source code

public static function doWebpCopy($image1, $dst, $src, $fileOut, $jfile_thumbs, &$errorMsg)
{
    $image2 = @ImageCreateTruecolor($dst[2], $dst[3]);
    if (!$image2) {
        $errorMsg = 'ErrorNoImageCreateTruecolor';
        return false;
    }
    //imagealphablending($image1, false);
    @imagealphablending($image2, false);
    //imagesavealpha($image1, true);
    @imagesavealpha($image2, true);
    ImageCopyResampled($image2, $image1, $dst[0], $dst[1], $src[0], $src[1], $dst[2], $dst[3], $src[2], $src[3]);
    if (!function_exists('ImageWEBP')) {
        $errorMsg = 'ErrorNoWEBPFunction';
        return false;
    }
    $fileOut = PhocacartFile::changeFileExtension($fileOut, 'webp');
    if ($jfile_thumbs == 1) {
        ob_start();
        if (!@imagewebp($image2, NULL)) {
            ob_end_clean();
            $errorMsg = 'ErrorWriteFile';
            return false;
        }
        $imgWEBPToWrite = ob_get_contents();
        ob_end_clean();
        if (!File::write($fileOut, $imgWEBPToWrite)) {
            $errorMsg = 'ErrorWriteFile';
            return false;
        }
    } else {
        if (!@imagewebp($image2, $fileOut)) {
            $errorMsg = 'ErrorWriteFile';
            return false;
        }
    }
    return true;
}