52 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 	/**
 | |
| 	 * @package Demos
 | |
| 	 */
 | |
| 	
 | |
| 	require_once dirname(__FILE__) . '/helpers/common.php';
 | |
| 	require_once dirname(__FILE__) . '/../lib/WideImage.php';
 | |
| 	
 | |
| 	$request = Request::getInstance();
 | |
| 	$demo = Demo::create($request->get('demo'));
 | |
| 	$image = WideImage::load('images/' . $request->get('image'));
 | |
| 	
 | |
| 	$result = $demo->execute($image, $request);
 | |
| 	
 | |
| 	$output = new FormatSelectField('output');
 | |
| 	$output->init(Request::getInstance());
 | |
| 	
 | |
| 	if ($output->value == 'preset for demo')
 | |
| 		$format = $demo->getFormat();
 | |
| 	else
 | |
| 		$format = $output->value;
 | |
| 	
 | |
| 	if ($format === 'as input')
 | |
| 		$format = substr($request->get('image'), -3);
 | |
| 	
 | |
| 	$output = 24;
 | |
| 	if ($format == 'png8')
 | |
| 	{
 | |
| 		$output = 8;
 | |
| 		$format = 'png';
 | |
| 	}
 | |
| 	elseif ($format == 'png24')
 | |
| 		$format = 'png';
 | |
| 	elseif ($format == 'gif')
 | |
| 		$output = 8;
 | |
| 	
 | |
| 	if ($output == 8)
 | |
| 	{
 | |
| 		$ncolors = new IntField('colors', 255);
 | |
| 		$ncolors->init(Request::getInstance());
 | |
| 		
 | |
| 		$dither = new CheckboxField('dither', true);
 | |
| 		$dither->init(Request::getInstance());
 | |
| 		
 | |
| 		$match_palette = new CheckboxField('match_palette', true);
 | |
| 		$match_palette->init(Request::getInstance());
 | |
| 		
 | |
| 		$result = $result->asPalette($ncolors->value, $dither->value, $match_palette->value);
 | |
| 	}
 | |
| 	
 | |
| 	$result->output($format);
 | |
| 	
 | 
