var_dump(imagesy($im_crop)); echo "Palette IMG_CROP_SIDES\n"; $im = imagecreate(99, 99); imagefilledrectangle($im, 20, 20, 30, 30, 0xff); $im_crop = imagecropauto($im, IMG_CROP_SIDES); var_dump(imagesx($im_crop)); var_dump(imagesy($im_crop)); echo "TC IMG_CROP_BLACK\n"; $im = imagecreatetruecolor(50, 50); imagefilledrectangle($im, 20, 20, 30, 30, 0xff); $im_crop = imagecropauto($im, IMG_CROP_BLACK); var_dump(imagesx($im_crop)); var_dump(imagesy($im_crop)); echo "Palette IMG_CROP_BLACK\n"; $im = imagecreate(50, 50); $bgd = imagecolorallocate($im, 0, 0, 0); $b = imagecolorallocate($im, 0, 0, 255); imagefilledrectangle($im, 20, 20, 30, 30, 0xff); $im_crop = imagecropauto($im, IMG_CROP_BLACK); var_dump(imagesx($im_crop)); var_dump(imagesy($im_crop)); echo "IMG_CROP_THRESHOLD\n"; $im = imagecreatefrompng(__DIR__ . "/logo_noise.png"); $im_crop = imagecropauto($im, IMG_CROP_THRESHOLD, 0.1, 0x0); imagepng($im_crop, __DIR__ . "/crop_threshold.png"); var_dump(imagesx($im_crop)); var_dump(imagesy($im_crop)); @unlink(__DIR__ . "/crop_threshold.png"); ?>
public function autoCrop($mode = 'default', $threshold = 0.5, $color = -1) { imagecropauto($this->canvas, Convert::toConstant($mode, 'IMG_CROP_'), $threshold, $color); return $this; }
public function autoCrop(string $mode = 'default', float $threshold = 0.5, int $color = -1) : InternalGD { imagecropauto($this->canvas, Converter::toConstant($mode, 'IMG_CROP_'), $threshold, $color); return $this; }
//$to_crop_array = array('x' =>310 , 'y' => 0, 'width' => 573, 'height'=> 500); //$thumb_im = imagecropauto($im ,IMG_CROP_WHITE , .5 ,-1 ); // $thumb_im = imagecrop($im, $to_crop_array); //imagepng($thumb_im, 'imgOut.png', 9); //v3 if (!extension_loaded('gd') || !function_exists('imagecrop')) { die('skip GD imagecropauto not present; skipping test'); } ?> <?php echo "IMG_CROP_WHITE\n"; $im = imagecreatefrompng("orig.png"); $im_crop = imagecropauto($im, IMG_CROP_WHITE); imagepng($im_crop, "crop_orig.png"); var_dump(imagesx($im_crop)); var_dump(imagesy($im_crop)); @unlink("crop_orig.png"); /* $image_src = imagecreatefrompng("orig.png"); $croppedImage = imagecropauto($image_src,IMG_CROP_WHITE); //header( 'Content-Type: image/png'); imagepng($croppedImage);*/ ?>
/** * 自动裁剪图片(裁剪透明背景或者四周相同颜色) * * @return \cn\asarea\image\GD */ public function cropAuto() { if ($this->isEmpty()) { return $this; } $this->_img = imagecropauto($this->img(), IMG_CROP_DEFAULT); return $this; }