ponoć na zlecenia się nie odpowiada - ale skoro to jest na tym forum - to ktoś nie dostanie chyba pracy
[php:1:5b55172696]<?php
/**
*@autor DeyV
*@data 03 2003
*@modifi 2003-09-03
*@parm $zrodl0 string (adres pliku żródłowego)
*@parm $przeznaczenie string (adres pliku wynikowego) (bez roszeżenia)
*@parm $new_x int (szerokość pliku)
*@parm $new_y int (wysokość pliku)
*@opis Wymiar nowego pliku wyliczany jest w zależności od wymiaró orginalnego pliku, zachowując orginalne proporcje,
* ale nie wieksze niż podane wymiary
*/
function image_resize($zrodlo, $przeznaczenie, $new_x, $new_y)
{
$_error=array();
/*
if (!$zrodlo) $_error[] = "Brak pliku źródłowego";
if (!$przeznaczenie) $_error[] = "Brak adresu dla wyniku";
if (!$new_x) $_error[] = "Podaj wymiar X";
if (!$new_y) $_error[] = "Podaj wymiar Y"; */
if ( !file_exists( $zrodlo) )
{
$_error[] = "Brak pliku źródłowego";
}
$_arr = @getimagesize($zrodlo);
if (!$_arr ){
$_error[] = "podany plik nie jest grafiką";
}
if (count($_error) )
{
return $_error;
}
$width = $_arr[0];
$height = $_arr[1];
$stosunek_x = $width /$new_x;
$stosunek_y = $height/$new_y ;
$stosunek = ( ($stosunek_x > $stosunek_y) ? $stosunek_x : $stosunek_y );
$new_x = ceil( $width / $stosunek );
$new_y = ceil( $height / $stosunek );
$_typ_pliku = $_arr[2];
switch ($_typ_pliku){
#case 1 :#= IMAGETYPE_GIF
# $_src_img=imagecreatefromGif($zrodlo);
# break;
case 2: #= IMAGETYPE_JPG
$_src_img=imagecreatefromJpeg($zrodlo);
break;
case 3: #= IMAGETYPE_PNG
$_src_img=imagecreatefromPNG($zrodlo);
break;
default:
$_error[] = "Nieprawidłowy format pliku";
return $_error;
}
$_dst_img=imagecreatetruecolor($new_x,$new_y);
ImageCopyResampled ($_dst_img,$_src_img,0,0,0,0,$new_x,$new_y,ImageSX($_src_img),ImageSY($_src_img)
;
ImageJpeg($_dst_img,$przeznaczenie.'.jpg');
}//func
/* test
var_dump (image_resize('1.png', '2',55,70) );
echo '<img src="1.png" border="0" alt="">
<img src="2.jpg" border="0" alt=""> ';
*/
?>[/php:1:5b55172696]