error()!==false ){ exit(); } if ( $i -> width >= IMAGE_SET_WIDTH && IMAGE_SET_WIDTH >0 ){ $k = $i -> width / IMAGE_SET_WIDTH; define('IMAGE_GET_WIDTH', IMAGE_SET_WIDTH ); define('IMAGE_GET_HEIGHT', round( $i -> height/$k) ); }elseif( $i -> height >= IMAGE_SET_HEIGHT && IMAGE_SET_HEIGHT >0 ){ $k = $i -> height / IMAGE_SET_HEIGHT; define('IMAGE_GET_HEIGHT', IMAGE_SET_HEIGHT ); define('IMAGE_GET_WIDTH', round( $i -> width/$k) ); }else{ define('IMAGE_GET_WIDTH', $i -> width ); define('IMAGE_GET_HEIGHT', $i -> height ); } $i -> resize(IMAGE_GET_WIDTH,IMAGE_GET_HEIGHT,1); header("Content-type: ".$i -> mime); $i -> save(); break; /** * óìåíüøàåì èçîáðàæåíèå ïî ìåíüøåé ñòîðîíå, îñòàòêè îáðåçàåì * * @package: krfront */ case('3'): /* $md5_name = md5(IMAGE_NAME.IMAGE_SET_WIDTH.IMAGE_SET_HEIGHT) ; // êýø $s = file_get_contents(MAIN_PATH.'tmp/images/'.$md5_name); if ( false!==$s ){ header("Content-type: image/jpeg"); echo $s; exit(); }*/ $i = new img(IMAGE_NAME); if ( $i -> error()!==false ){ exit(); } if ( $i -> width == $i -> height || $i -> width < $i -> height ){ // âû÷èñëÿåì êîîôèöèåíò óìåíüøåíèÿ âûñîòû $k = $i -> width/IMAGE_SET_WIDTH ; define('IMAGE_GET_HEIGHT', round( $i -> height/$k) ); define('IMAGE_GET_WIDTH', IMAGE_SET_WIDTH ); }else{ $k = $i -> height/ IMAGE_SET_HEIGHT; define('IMAGE_GET_HEIGHT', IMAGE_SET_HEIGHT ); define('IMAGE_GET_WIDTH', round( $i -> width/$k) ); } $i -> resize(IMAGE_GET_WIDTH,IMAGE_GET_HEIGHT,1); /* $i -> crop(0,0,50,50); $i -> set_name( $md5_name ); $i -> set_path( MAIN_PATH.'tmp/images');*/ $i ->save(); header("Content-type: ".$i -> mime); echo file_get_contents(MAIN_PATH.'tmp/images/'.$md5_name); break; } exit(); /* $info = getimagesize(IMAGE_NAME); if ($info === false){ exit(); }*/ exit(); // // ïîäïèñü //$sign = !empty($_REQUEST['sign']) ? 1 : 0; //$Sign = $base_dir.'/modules/catalog/images/copyright.gif'; //ïîçèöèÿ îò 1 äî 4 //$Pos=4; // äà ýòî è íå èçîáðàæåíèå âîâñå define('IMAGE_WIDTH', $info[0] ); define('IMAGE_HEIGHT', $info[1]); define('IMAGE_MIME', $info["mime"] ); list(, $type ) = explode('/',IMAGE_MIME); define('IMAGE_TYPE', $type ); switch( $_REQUEST['resize'] ){ case(2): /************** * * åñëè èçîáðàæåíèå ïðåâûñèò îäèí èç çàäàííûõ ïàðàìåòðîâ, òî ìû åãî ïðîïîðöèîíàëüíî óìåíüøàåì * èíà÷å íå òðîãàåì * ***************/ $k1 = $k2 = 0; // çàäàí êîíòðîëü ïî øèðèíå è øèðèíà çàíèæåíà if ( IMAGE_SET_WIDTH && IMAGE_SET_WIDTH>IMAGE_WIDTH ){ // ïîñëàòü êî âñåì ÷åðòÿì, íåëüçÿ óâåëè÷èâàòü èçîáðàæåíèÿ //exit(); } // çàäàí êîíòðîëü ïî âûñîòå è âûñîòà çàíèæåíà if ( IMAGE_SET_HEIGHT && IMAGE_SET_HEIGHT>IMAGE_HEIGHT ){ // ïîñëàòü êî âñåì ÷åðòÿì, íåëüçÿ óâåëè÷èâàòü èçîáðàæåíèÿ //exit(); } // çàäàí êîíòðîëü ïî øèðèíå è øèðèíà ïðåâûøåíà if ( IMAGE_SET_WIDTH && IMAGE_SET_WIDTH$k2 ){ // øèðèíà âåäóùàÿ define('IMAGE_GET_WIDTH', round(IMAGE_WIDTH/$k1) ); define('IMAGE_GET_HEIGHT', round(IMAGE_HEIGHT/$k1) ); }elseif ( $k1<$k2 ){ // âûñîòà âåäóùàÿ define('IMAGE_GET_WIDTH', round(IMAGE_WIDTH/$k2) ); define('IMAGE_GET_HEIGHT', round(IMAGE_HEIGHT/$k2) ); }elseif ( $k1==$k2 & $k1==0 ){ // íè÷åãî óìåíüøàòü íå íóæíî, âåðíóòü êàê åñòü header("Content-type: ".IMAGE_MIME); echo file_get_contents(IMAGE_NAME); exit(); }else{ // êîîôèöèåíòû óìåíüøåíèÿ ðàâíû define('IMAGE_GET_WIDTH', round(IMAGE_WIDTH/$k2) ); define('IMAGE_GET_HEIGHT', round(IMAGE_HEIGHT/$k2) ); } break; default: exit(); break; /** * Íàõîäèì ìåíüøóþ ñòîðîíó, óìåíüøàåì ïî íåé äî çàäàííîé äëèííû, îáðåçàåì ëèøíåå * */ case(3): // list(IMAGE_GET_WIDTH,IMAGE_GET_HEIGHT ) = inc_alg_three(IMAGE_WIDTH,IMAGE_HEIGHT); break; } // êîãäà íàì ÿñíî, ÷òî íóæíî äåëàòü, íà÷èíàåì îáðàáîòêó èçîáðàæåíèÿ // ëåâàÿ ôóíêöèÿ êàêàÿ-òî if ( !function_exists('imagecreatefrom'.IMAGE_TYPE ) ){ exit(); }else{ $func_name = 'imagecreatefrom'.IMAGE_TYPE; } $source = $func_name(IMAGE_NAME) or die('Cannot load original JPEG'); // ñðçäà¸ì èçîáðàæåíèå ñ íîâûìè ðàçìåðàìè $target = imagecreatetruecolor(IMAGE_GET_WIDTH, IMAGE_GET_HEIGHT); imagecopyresampled($target, $source, 0,0,0,0,IMAGE_GET_WIDTH, IMAGE_GET_HEIGHT,IMAGE_WIDTH,IMAGE_HEIGHT ); header("Content-type: ".IMAGE_MIME); $func_name = 'image'.IMAGE_TYPE; $func_name($target); imagedestroy($target); imagedestroy($source); function resize($w1,$w2){ if ( $w1>$w2 ){ return ($w1 / $w2); }elseif( $w1<$w2){ return ($w2 / $w1); }else{ return 1; } } /** * Íàõîäèì ìåíüøóþ ñòîðîíó, óìåíüøàåì ïî íåé äî çàäàííîé äëèííû, îáðåçàåì ëèøíåå * */ function inc_alg_three($w,$h){ // íàõîäèì ìåíüøóþ ñòîðîíó if ( $w==$h || $w<$h ){ $w = IMAGE_GET_WIDTH; }elseif( $w>$h ){ $min = $h; } } ?>