kod
<?php
define("ccTOPLEFT", 0);
define("ccTOP", 1);
define("ccTOPRIGHT", 2);
define("ccLEFT", 3);
define("ccCENTRE", 4);
define("ccCENTER", 4);
define("ccRIGHT", 5);
define("ccBOTTOMLEFT", 6);
define("ccBOTTOM", 7);
define("ccBOTTOMRIGHT", 8);
$_imgOrig = imagecreatefromjpeg("../".$_POST['file']);
$percentx=$_POST['scalem'];
$percenty=$_POST['scalem'];
$nx = (($percentx / 100) * ImageSX($_imgOrig));
$ny = (($percenty / 100) * ImageSY($_imgOrig));
$ox = ImageSX($_imgOrig);
$oy = ImageSY($_imgOrig);
$nnx = $nx;
$nny = $ny;
if($ox>$oy)
{
$nx = $ox*$ny/$oy;
}
elseif($ox<$oy)
{
$ny = $oy*$nx/$ox;
}
$_imgFinal = ImageCreateTrueColor($nx, $ny);
ImageCopyResampled($_imgFinal, $_imgOrig, 0, 0, 0, 0, $nx, $ny, $ox, $oy);
$_imgOrig = $_imgFinal;
$sx=$_POST['x1'];
$sy=$_POST['y1'];
$ex=$_POST['x2'];
$ey=$_POST['y2'];
$nx = abs($ex - $sx);
$ny = abs($ey - $sy);
$ox=$sx;
$oy=$sy;
if ($ox == -1 || $oy == -1)
{
list($ox, $oy) = _getCopyPosition($_imgFinal,$nx, $ny, $position);
}
$_imgFinal = ImageCreateTrueColor($nx, $ny);
ImageCopyResampled($_imgFinal, $_imgOrig, 0, 0, $ox, $oy, $nx, $ny, $nx, $ny);
function _getCopyPosition($_imgOrig,$nx, $ny, $position)
{
$ox = ImageSX($_imgOrig);
$oy = ImageSY($_imgOrig);
switch($position)
{
case ccTOPLEFT:
return array(0, 0);
case ccTOP:
return array(ceil(($ox - $nx) / 2), 0);
case ccTOPRIGHT:
return array(($ox - $nx), 0);
case ccLEFT:
return array(0, ceil(($oy - $ny) / 2));
case ccCENTRE:
return array(ceil(($ox - $nx) / 2), ceil(($oy - $ny) / 2));
case ccRIGHT:
return array(($ox - $nx), ceil(($oy - $ny) / 2));
case ccBOTTOMLEFT:
return array(0, ($oy - $ny));
case ccBOTTOM:
return array(ceil(($ox - $nx) / 2), ($oy - $ny));
case ccBOTTOMRIGHT:
return array(($ox - $nx), ($oy - $ny));
}
}
imagejpeg($_imgFinal, '../kirp.jpg', 100);
echo "<html><h1><a href=\"../\">try again</a></h1>";
echo "<img src=\"../img.jpg\"><br /><br />";
echo "<img src=\"../test.jpg\">";
?>
</html>