标签:variable max sim tar The nbsp wim out style
$type = explode(‘/‘, $file->type); $mainType = $type[0]; $subType = $type[1]; $isImage = $mainType == ‘image‘; $isGif = $subType == ‘gif‘;//gif压缩会变静态的,所以过滤掉 if ($isImage) { $maxSize = 1024 * 1024; if (!$isGif) { //图片进行压缩 $file->data = $this->compressImage($file->data, $maxSize); } //生成文件 } function compressImage($data, $maxSize, $percent = 1) { $size = strlen($data); if ($size <= $maxSize) { return $data; } $img = imagecreatefromstring($data); $width = imagesx($img); $height = imagesy($img); $newWidth = $width * $percent; $newHeight = $height * $percent; $newImg = imagecreatetruecolor($newWidth, $newHeight); imagecopyresampled($newImg, $img, 0, 0, 0, 0, floor($newWidth), floor($newHeight), $width, $height); ob_start(); //Turn on output buffering imagepng($newImg); //Generate your image //imagejpeg($newImg); $data = $output = ob_get_contents(); // get the image as a string in a variable ob_end_clean(); //Turn off output buffering and clean it imagedestroy($newImg); $percent -= 0.1; print_r("\npercent={$percent},size={$size}"); return self::compressImage($data, $maxSize,$percent); }
标签:variable max sim tar The nbsp wim out style
原文地址:https://www.cnblogs.com/fatRabbit-/p/11393442.html