예제 #1
0
 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;
 }
예제 #2
0
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