1<?php 2// $Header: /cvsroot/html2ps/utils_graphic.php,v 1.9 2007/01/24 18:56:10 Konstantin Exp $ 3 4function do_image_open($filename, &$type) { 5 // Gracefully process missing GD extension 6 if (!extension_loaded('gd')) { 7 return null; 8 }; 9 10 // Disable interlacing for the generated images, as we do not need progressive images 11 // if PDF files (futhermore, FPDF does not support such images) 12 $image = do_image_open_wrapped($filename, $type); 13 if (!is_resource($image)) { return null; }; 14 15 if (!is_null($image)) { 16 imageinterlace($image, 0); 17 }; 18 19 return $image; 20} 21 22function do_image_open_wrapped($filename, &$type) { 23 // FIXME: it will definitely cause problems; 24 global $g_config; 25 if (!$g_config['renderimages']) { 26 return null; 27 }; 28 29 // get the information about the image 30 if (!$data = @getimagesize($filename)) { return null; }; 31 switch ($data[2]) { 32 case 1: // GIF 33 $type = 'image/png'; 34 // Handle lack of GIF support in older versions of PHP 35 if (function_exists('imagecreatefromgif')) { 36 return @imagecreatefromgif($filename); 37 } else { 38 return null; 39 }; 40 case 2: // JPG 41 $type = 'image/jpeg'; 42 return @imagecreatefromjpeg($filename); 43 case 3: // PNG 44 $type = 'image/png'; 45 $image = imagecreatefrompng($filename); 46// imagealphablending($image, false); 47// imagesavealpha($image, true); 48 return $image; 49 case 15: // WBMP 50 $type = 'image/png'; 51 return @imagecreatefromwbmp($filename); 52 }; 53 return null; 54}; 55?>