public function execute(Dm_Image $image) { $w = $this->width; $h = $this->height; $f = (int) $this->fram; $fit = new Dm_Image_Filter_Fit($w, $h, true); $crop = new Dm_Image_Filter_Crop($w, $h); $filters = array($fit, $crop); $image->applyFilters($filters); $effectImage = new Dm_Image_File(dirname(__FILE__) . '/img/instagram_effect_01.png'); $effectImage->applyFilters($filters); $image->draw($effectImage, 0, 0, $effectImage->getWidth(), $effectImage->getHeight()); $filteredResource = $image->getImageResource(); $this->effect($filteredResource); if ($f === 1 || $f === 2 || $f === 3) { $frameImage = new Dm_Image_File(dirname(__FILE__) . '/img/frame_' . str_pad($f, 2, '0', STR_PAD_LEFT) . '.png'); $frameImage->applyFilters($filters); $image->draw($frameImage, 0, 0, $frameImage->getWidth(), $frameImage->getHeight()); } $image->setImageResource($filteredResource); return $filteredResource; }
set_error_handler('onError'); function onError($errno, $errstr, $errfile, $errline) { var_dump($errno, $errstr, $errfile, $errline); exit; } //------------------------------------ // サンプル //------------------------------------ $originalImagePath = './horse.jpeg'; $width = 200; $height = 200; $fitFilter = new Dm_Image_Filter_Fit($width, $height, true); $cropFilter = new Dm_Image_Filter_Crop($width, $height); $image = new Dm_Image_File($originalImagePath); $image->applyFilters(array($fitFilter, $cropFilter)); ?> <!DOCTYPE html> <head> <meta charset="UTF-8" /> </head> <body> <div> 元画像<br> <img src="<?php echo $originalImagePath; ?> "> </div> <div> Filter適用後(縦<?php