&size=&xpos=&ypos=&color=&fsize= : must be in /tmp directory. Image file will be removed after displayed. : >0 and <= 100 : copyright message position >0 and <=90, default is 40 : copyright message position >0 and <=90, default is 50 : copyright message color, default is #FF0000 : copyright message size >=1 and <=5, default is 5 */ ob_start(); require_once("/home/dataview/lib/php5/Dataviewx.php"); function add_copyright($im, $xpos, $ypos, $fontcolor, $fontsize) { strlen($fontcolor) == 7 or die ("Invalid length of fontcolor field\n"); substr($fontcolor,0,1) == '#' or die ("fontcolor does not start with #\n"); $r = intval(substr($fontcolor,1,2),16); $g = intval(substr($fontcolor,3,2),16); $b = intval(substr($fontcolor,5,2),16); $xpos >= 0 and $xpos <= 90 or die("Invalid xpos value $xpos\n"); $ypos >= 0 and $ypos <= 90 or die("Invalid ypos value $ypos\n"); $size_w = imagesx($im); $size_h = imagesy($im); $xpos = intval(round($size_w*$xpos/100.0)); $ypos = $size_h - intval(round($size_h*$ypos/100.0)); $year = strftime("%Y"); $copyright = "@" . $year . " ENVF,HKUST"; $color = imagecolorallocate($im, $r, $g, $b); // echo "$im $fontsize $xpos $ypos $copyright\n"; imagestring($im, $fontsize, $xpos, $ypos, $copyright, $color); return($im); } function display_image($imgfile,$resize,$logo,$xpos,$ypos,$fontcolor,$fontsize) { $mimetype = mime_content_type($imgfile); if ($mimetype == 'image/gif') { $im = imagecreatefromgif($imgfile); } elseif ($mimetype == 'image/png') { $im = imagecreatefrompng($imgfile); } elseif ($mimetype == 'image/jpeg') { $im = imagecreatefromjpeg($imgfile); } else { trigger_error("Invalid image file $imgfile", E_USER_ERROR); } if ($resize != 100) { $width = imagesx($im); $height = imagesy($im); $new_width = intval(round($width*$resize/100.0)); $new_height = intval(round($height*$resize/100.0)); $resized_im = imagecreatetruecolor($new_width,$new_height); imagecopyresampled($resized_im,$im,0,0,0,0,$new_width,$new_height,$width,$height); $im = $resized_im; } if ($logo) { $im = add_copyright($im,$xpos,$ypos,$fontcolor,$fontsize); } header('Content-type: ' . $mimetype); if ($mimetype == 'image/gif') { imagegif($im); } elseif ($mimetype == 'image/png') { imagepng($im); } elseif ($mimetype == 'image/jpeg') { imagejpeg($im); } else { trigger_error("Invalid image file $imgfile", E_USER_ERROR); } imagedestroy($im); } error_reporting(E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR); $mustlogin = 0; $dataview = new Dataview($mustlogin); empty($_GET['image']) ? $image = NULL : $image = $_GET['image']; empty($_GET['imgfile']) ? $imgfile = NULL : $imgfile = $_GET['imgfile']; // empty($_GET['size']) ? $size = 100 : $size = floatval($_GET['size']); empty($_GET['resize'])? $size = 100 : $size = floatval($_GET['resize']); empty($_GET['logo']) ? $logo = 0 : $logo = floatval($_GET['logo']); empty($_GET['xpos']) ? $xpos = 40 : $xpos = floatval($_GET['xpos']); empty($_GET['ypos']) ? $ypos = 50 : $ypos = floatval($_GET['ypos']); empty($_GET['fontcolor']) ? $fontcolor = "#00FF00" : $fontcolor = $_GET['fontcolor']; empty($_GET['fontsize']) ? $fontsize = 5 : $fontsize = intval($_GET['fontsize']); empty($_GET['keepit']) ? $keepit = 0 : $keepit = intval($_GET['keepit']); if ($imgfile == NULL) { $imgfile = $image; } if ($imgfile == NULL) { trigger_error('imgfile is empty', E_USER_ERROR); } if (substr($imgfile,0,5) != '/tmp/') { trigger_error('Image file is not started with "/tmp/".', E_USER_ERROR); } display_image($imgfile,$size,$logo,$xpos,$ypos,$fontcolor,$fontsize); if ($keepit == 0) { // error_log("keepit == " . $keepit . " remove " . $imgfile); unlink($imgfile); } ?>