Генерация динамической превью для демонстрации картинки
От: arc041209 СССР  
Дата: 17.02.26 13:00
Оценка:
<?php
// big2small.php
if(isset($_GET['pixmap']))$pixmap=$_GET['pixmap'];
else exit();
/* echo $pixmap."<br>";
exit(); */
list($w0,$h0,$type,$attr)=getimagesize($pixmap);
/* echo "<img src="$pixmap" $attr></img>";
exit(); */

$w=200;// Размер трекера и ширина превью.
$rt=$w/$w0;// Коэффициент для пересчёта высоты превью.

switch($type){
case IMAGETYPE_JPEG:
        $img=imagecreatefromjpeg($pixmap);
        break;
case IMAGETYPE_GIF:
        $img=imagecreatefromgif($pixmap);
        break;
case IMAGETYPE_PNG:
        $img=imagecreatefrompng($pixmap);
        break;
default:exit();}
if($rt<1){// Картинка не поместится в трекер:
        // 1) перерисовываем с сохранением пропорций,
        $h=round($h0*$rt);// высоту надо округлить до целого;
        $img0=imagecreatetruecolor($w,$h);
        imagecopyresized($img0,$img,0,0,0,0,$w,$h,$w0,$h0);
        // 2) показываем превью.
        switch($type){
        case IMAGETYPE_JPEG:
                Header("Content-type: image/jpeg");
                imagejpeg($img0);
                break;
        case IMAGETYPE_GIF:
                Header("Content-type: image/gif");
                imagegif($img0);
                break;
        case IMAGETYPE_PNG:
                Header("Content-type: image/png");
                imagepng($img0);
                break;
        default:exit();}}
else{// Картинка поместится в трекер:
        // ничего не делаем, показываем оригинал.
        switch($type){
        case IMAGETYPE_JPEG:
                Header("Content-type: image/jpeg");
                imagejpeg($img);
                break;
        case IMAGETYPE_GIF:
                Header("Content-type: image/gif");
                imagegif($img);
                break;
        case IMAGETYPE_PNG:
                Header("Content-type: image/png");
                imagepng($img);
                break;
        default:exit();}}
imagedestroy($img);
imagedestroy($img0);
?>


Использовать:

<img src="http://192.168.24.80:8080/tuxoid/big2small.php?pixmap=http://i56.tinypic.com/28211yx.png" border="0"></img>


Нужна GD.
Отредактировано 17.02.2026 13:04 arc041209 . Предыдущая версия . Еще …
Отредактировано 17.02.2026 13:03 arc041209 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.