49 lines
1.3 KiB
PHP
49 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);
|