50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
|     /**
 | |
|      */
 | |
|     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);
 | 
