| |
|
|
|
|
для: elenaki
(26.07.2006 в 16:44)
| | вот такой код
<?
function resizeimg($filename1, $smallimage, $w, $h)
{
$ratio = $w/$h;
$size_img = getimagesize($filename1);
if (($size_img[0]<$w) && ($size_img[1]<$h)) return true;
$src_ratio=$size_img[0]/$size_img[1];
if ($ratio<$src_ratio)
{
$h = $w/$src_ratio;
}
else
{
$w = $h*$src_ratio;
}
$dest_img = imagecreatetruecolor($w, $h);
$white = imagecolorallocate($dest_img, 255, 255, 255);
if ($size_img[2]==2) $src_img = imagecreatefromjpeg($filename1);
else if ($size_img[2]==1) $src_img = imagecreatefromgif($filename1);
else if ($size_img[2]==3) $src_img = imagecreatefrompng($filename1);
imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1]);
if ($size_img[2]==2) imagejpeg($dest_img, $smallimage);
else if ($size_img[2]==1) imagegif($dest_img, $smallimage);
else if ($size_img[2]==3) imagepng($dest_img, $smallimage);
imagedestroy($dest_img);
imagedestroy($src_img);
return true;
}
?>
|
| |
|
|
|
|
|
|
|
для: Равечка
(26.07.2006 в 16:11)
| | проверьте этот на "убогость". у меня работает, не жалуюсь.
<? /// ...puti k papkam ystanovleni vishe... pole file - pod imenem file2
/// proverka na tip faila
if ($file2 == "none" || $file2 == "") {echo "You didn't choose file!"; exit;} // ne vibran
if ($file2_size > $max_size) {echo "$file2_name is too big."; exit;} // bol'shoy
if (($file2 != "none" || $file2 != "") && (($file2_type != "image/pjpeg") && ($file2_type != "image/gif")))
{echo "$file2_name ($file2_type) has invalid type."; exit;} // ne tot tip
else {
//=============================================
function date_to_timestamp($dt) {
$yr=strval(substr($dt,6,4));
$mo=strval(substr($dt,3,2));
$da=strval(substr($dt,0,2));
$hr=strval(substr($dt,0,0));
$mi=strval(substr($dt,0,0));
$se=strval(substr($dt,0,0));
return mktime($hr,$mi,$se,$mo,$da,$yr);
}
if(ereg("left", $kefal) == True) { $menu = "left"; $kefal = substr($kefal, 4);}
$sql = "INSERT INTO photos VALUES (
Null,
'".$lang."',
".$kefal.",
'".$photo_order."',
'".$file2_name."',
'".$phot_descr."',
".date_to_timestamp($date_create).",
".date_to_timestamp($exp_date).",
'',
'".$active."')";
// run SQL
$result = mysql_query($sql) or die(mysql_error());
}
if (!$result) {
// esli ne zanesli v bazu
print "<script>window.location.href='add_photos.php?message=Cannot add photo!'</script>";}
else {
// esli zanesli,gruzim file
//copy ("$file2_tmp_name", "$path/$file2_name");
//////// resize and create thimbs
$size=getimagesize($_FILES['file2']['tmp_name']);
if ($size[0]>=$size[1])
{
$size0=250;
$size1=250/$size[0]*$size[1];
$size2=90;
$size3=90/$size[0]*$size[1];
}
else
{
$size1=250;
$size0=250/$size[1]*$size[0];
$size3=90;
$size2=90/$size[1]*$size[0];
}
$src_img=imagecreatefromjpeg($_FILES['file2']['tmp_name']);
$dst_img=imagecreatetruecolor($size0, $size1);
$dst_img1=imagecreatetruecolor($size2, $size3);
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $size0, $size1, $size[0], $size[1]);
imagecopyresampled($dst_img1, $src_img, 0, 0, 0, 0, $size2, $size3, $size[0], $size[1]);
imagejpeg($dst_img, "../photos/".$_FILES['file2']['name'], 90);
imagejpeg($dst_img1, "../photos/s_".$_FILES['file2']['name'], 99);
imagedestroy($src_img);
imagedestroy($dst_img);
imagedestroy($dst_img1);
move_uploaded_file($_FILES['file2']['tmp_name'],"$path/$file2_name");
}
?>
|
| |
|
|
|
|
|
|
|
для: valenok
(26.07.2006 в 15:03)
| | Извените конечно но скрипт убогий, ибо
1. его надо исправлять чтобы он заработал
2. он изнасиловал все цвета
3. я просила "умный" скрипт, этот же делает по глупому, ибо изнасиловал пропорции рисунка
4. лучше делать копии чем обрабатывать на лету | |
|
|
|
|
|
|
|
для: Равечка
(26.07.2006 в 14:27)
| | называется превьюшки
// Это чтоб мне потом не говорили что человек прочто не знает что искать.
http://www.web-faq.ru/articles/showarticles_192.html | |
|
|
|
|
|
|
| Доброго времени суток не могли бы вы мне подсказать, как сделать чтобы....
Пользватель заливает картинку на сервер, а для нее создается уменьшеная копия. причем копия уменьшается "по умному" ну арушая пропорций картнки в целом.
например есть test.jpg, копия не должна быть больше 150х150 и называться примерно test_th.jpg
Заранее благодарю за помощь. | |
|
|
| |
|