URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 1572
[ Назад ]

Исходное сообщение
"Как отресайзить картинку?"

Отправлено .zZz. , 31-Июл-03 23:30 
Привет!
Хочется проделать следующую махинацию.
Пользователь аплоадит картинку.
Скрипт принимает её, сохраняет исходную, делает маленьку версию, сохраняет маленькую версию.
Потом на сайте thumbnails типа ссылки на исходные картинки.
Спасибо заранее..

Содержание

Сообщения в этом обсуждении
"Как отресайзить картинку?"
Отправлено stricty , 01-Авг-03 11:04 
>Привет!
>Хочется проделать следующую махинацию.
>Пользователь аплоадит картинку.
>Скрипт принимает её, сохраняет исходную, делает маленьку версию, сохраняет маленькую версию.
>Потом на сайте thumbnails типа ссылки на исходные картинки.
>Спасибо заранее..

библиотеки GD и/или ImageMagik

perldoc GD
perldoc Image::Magik


"Как отресайзить картинку?"
Отправлено .zZz. , 04-Авг-03 23:41 
>>Привет!
>>Хочется проделать следующую махинацию.
>>Пользователь аплоадит картинку.
>>Скрипт принимает её, сохраняет исходную, делает маленьку версию, сохраняет маленькую версию.
>>Потом на сайте thumbnails типа ссылки на исходные картинки.
>>Спасибо заранее..
>
>библиотеки GD и/или ImageMagik
>
>perldoc GD
>perldoc Image::Magik

ага. сделал ресайз у себя дома на Win200+Apache+Php+gd.
Сейчас стал на freeBSD 4.8 c Apache 1.3.26+mod_php ставить gd и собственно ни к чему не пришёл...
Отсюда вопрос - можно ли вообще к mod_php прикрутить gd или придётся php собирать как DSO и потом уже к нему gd (так работает на одной из машин)


"Как отресайзить картинку?"
Отправлено stricty , 06-Авг-03 10:32 
>ага. сделал ресайз у себя дома на Win200+Apache+Php+gd.
>Сейчас стал на freeBSD 4.8 c Apache 1.3.26+mod_php ставить gd и собственно
>ни к чему не пришёл...
>Отсюда вопрос - можно ли вообще к mod_php прикрутить gd или придётся
>php собирать как DSO и потом уже к нему gd (так
>работает на одной из машин)


Ты нас не путай. Собрал GD, потом собрал PHP с ссответсвующими опциями в том варианте, в котором тебе хочется. И усё.


"Как отресайзить картинку?"
Отправлено .zZz. , 06-Авг-03 10:41 
>>ага. сделал ресайз у себя дома на Win200+Apache+Php+gd.
>>Сейчас стал на freeBSD 4.8 c Apache 1.3.26+mod_php ставить gd и собственно
>>ни к чему не пришёл...
>>Отсюда вопрос - можно ли вообще к mod_php прикрутить gd или придётся
>>php собирать как DSO и потом уже к нему gd (так
>>работает на одной из машин)
>
>
>Ты нас не путай. Собрал GD, потом собрал PHP с ссответсвующими опциями
>в том варианте, в котором тебе хочется. И усё.

Смотри, есть apache+mod_php.
Если делать по твоему - будет apache+php(как DSO)+gd(как --with-gd к php)
Интересует следюющее: apache+mod_php+gd(как, например, extension к mod_php)
Можно ли так? Либо всё-таки отказаться от  mod_php.
Либо я чё-то не втягиваю... :))


"Как отресайзить картинку?"
Отправлено stricty , 06-Авг-03 12:06 
>Смотри, есть apache+mod_php.
>Если делать по твоему - будет apache+php(как DSO)+gd(как --with-gd к php)
>Интересует следюющее: apache+mod_php+gd(как, например, extension к mod_php)
>Можно ли так? Либо всё-таки отказаться от  mod_php.
>Либо я чё-то не втягиваю... :))

Не втягиваешь. В чём разница между:
apache+php(как DSO)+gd(как --with-gd к php)
и
apache+mod_php+gd(как, например, extension к mod_php)
Я не вижу...


"Как отресайзить картинку?"
Отправлено .zZz. , 10-Авг-03 10:30 
>>Смотри, есть apache+mod_php.
>>Если делать по твоему - будет apache+php(как DSO)+gd(как --with-gd к php)
>>Интересует следюющее: apache+mod_php+gd(как, например, extension к mod_php)
>>Можно ли так? Либо всё-таки отказаться от  mod_php.
>>Либо я чё-то не втягиваю... :))
>
>Не втягиваешь. В чём разница между:
>apache+php(как DSO)+gd(как --with-gd к php)

>apache+mod_php+gd(как, например, extension к mod_php)
>Я не вижу...

Ок.ок.!%))
Поставил GD. Всё зафурычало.
Только при ресайзе он похоже работает с палитрой в 256 цветов, и поэтому выходит совсем не красиво...
Не подскажете как заставить его в тру-колоре работать?


"Как отресайзить картинку?"
Отправлено stricty , 10-Авг-03 12:55 
>Не подскажете как заставить его в тру-колоре работать?

Resample


"Как отресайзить картинку?"
Отправлено Aleksey_ , 10-Авг-03 22:27 
>>Не подскажете как заставить его в тру-колоре работать?
>
>Resample

токо для этого надо gd2.


"Как отресайзить картинку?"
Отправлено Aleksey Salow , 01-Авг-03 11:19 
>Хочется проделать следующую махинацию.
>Пользователь аплоадит картинку.
>Скрипт принимает её, сохраняет исходную, делает маленьку версию, сохраняет маленькую версию.

Посмотри в сторону GDlib, в PHP manual раздел "Image functions"

>Потом на сайте thumbnails типа ссылки на исходные картинки.

Как вариант, можно на сайте держать оригиналы, а иконки отдавать на лету по запросу.


"Как отресайзить картинку?"
Отправлено Rohan , 04-Авг-03 17:02 
<?php
header("cache-control: public");
header("content-type: image/jpeg");

$cfg.=".cfg";
$cfg_txt=file("./".$cfg, "r");
for($i=0; $i<count($cfg_txt); $i++)
{
$param=explode("=", $cfg_txt[$i]);
$GLOBALS[ trim($param[0]) ]=trim($param[1]);
}

$cfgtime=filemtime("./".$cfg) or die("error cfg opening!");
$im1time=filemtime($img_path.$img) or die("error img opening!");
$im2time=filemtime($img_path.$cfg."/".$img);

$htime=date("D, d M Y H:i:s", $im2time)." GMT";
if ($im2time)
{
header("Last-Modified: ".$htime);
header("Created: ".$htime);
}

if(( !$im2time) or ($cfgtime>$im2time) or ($im1time>$im2time))
{

$imageinfo=getimagesize ( $img_path.$img);
switch($imageinfo[2])
{
case 1: echo "<b>gif - not supported!</b>"; break;  #GIF,
case 2: $im1=imagecreatefromjpeg($img_path.$img); break; #JPG,
case 3: $im1=imagecreatefrompng($img_path.$img); break; #PNG,
case 4: echo "<b>swf - not supported!</b>"; break;#SWF,
case 5: echo "<b>psd - not supported!</b>"; break;#PSD,
case 6: $im1=imagecreatefromwbmp($img_path.$img); break; #BMP,
case 7: $im1=imagecreatefromtiff($img_path.$img); break; #TIFF(intel byte order),
case 8: echo "<b>TIFF(motorola byte order) - not supported!</b>"; break;#TIFF(motorola byte order)
case 9: echo "<b>JPC - not supported!</b>"; break;#JPC,
case 10: echo "<b>JP2 - not supported!</b>"; break;#JP2,
case 11: echo "<b>JPX - not supported!</b>"; break;#JPX
default:
}
# im1 - сюы╧╟р═ ърЁ╙шэър;
$w1=$imageinfo[0];
$h1=$imageinfo[1];
$x1=0;
$y1=0;
# ╓╙ю хх ЁрчьхЁ?


#╒╙ю-╙ю ё╒ш╙рхь.......
if ($holdxy=="no")
{
        $x2=1;
        $y2=1;
        $w2=$targetx;
        $h2=$targety;
}
else
{
        resize_src();
}

$im2=imagecreatetruecolor ($w1, $h1);
imagecopy( $im2, $im1, 0, 0, $x1, $y1, $w1, $h1);
imagedestroy($im1);
$im3=imagecreatetruecolor ($w2-1, $h2-1);

ImageCopyResized($im3, $im1, 0, 0, 1, 1, $targetx, $targety, 1, 1);
imagecopyresampled ( $im3, $im2, 0, 0, 0, 0, $w2, $h2 , $w1, $h1);
@mkdir($img_path.$cfg);
imagejpeg($im3, $img_path.$cfg."/".$img, $quality);
}


readfile ($img_path.$cfg."/".$img);
?>