$option) { if (substr($option, 0, 10) == '; charset=') { $mime_options['charset'] = $option; } } } // garvin: For re-usability, moved http-headers and stylesheets // to a seperate file. It can now be included by libraries/header.inc.php, // querywindow.php. require_once './libraries/header_http.inc.php'; // [MIME] if (isset($ct) && !empty($ct)) { $content_type = 'Content-Type: ' . $ct; } else { $content_type = 'Content-Type: ' . (isset($mime_map[$transform_key]['mimetype']) ? str_replace('_', '/', $mime_map[$transform_key]['mimetype']) : $default_ct) . (isset($mime_options['charset']) ? $mime_options['charset'] : ''); } header($content_type); if (isset($cn) && !empty($cn)) { header('Content-Disposition: attachment; filename=' . $cn); } if (!isset($resize)) { echo $row[$transform_key]; } else { // if image_*__inline.inc.php finds that we can resize, // it sets $resize to jpeg or png $srcImage = imagecreatefromstring($row[$transform_key]); $srcWidth = ImageSX($srcImage); $srcHeight = ImageSY($srcImage); // Check to see if the width > height or if width < height // if so adjust accordingly to make sure the image // stays smaller then the $newWidth and $newHeight $ratioWidth = $srcWidth/$newWidth; $ratioHeight = $srcHeight/$newHeight; if ($ratioWidth < $ratioHeight){ $destWidth = $srcWidth/$ratioHeight; $destHeight = $newHeight; } else { $destWidth = $newWidth; $destHeight = $srcHeight/$ratioWidth; } if ($resize) { $destImage = ImageCreateTrueColor($destWidth, $destHeight); } // ImageCopyResized($destImage, $srcImage, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight); // better quality but slower: ImageCopyResampled($destImage, $srcImage, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight); if ($resize == 'jpeg') { ImageJPEG($destImage, '', 75); } if ($resize == 'png') { ImagePNG($destImage); } ImageDestroy($srcImage); ImageDestroy($destImage); } ?>