php ile küçük yapmak için nasıl

7 Cevap

Ben sadece hdd saklanan görüntülerin küçük resimlerini yapmak ve bir html sayfası bunları nasıl kullanabileceğinizi merak ediyorum, Ayrıca ben aynı sayfada bir div etiketi içine tercihen tıklandığında ise (orijinal boyutuna) Ayrıntı edebilmek için minik gerekir Herkes bana doğru yönde koymak olabilir, ben takdir ediyorum

teşekkürler

7 Cevap

Sen GD uzantısı JavaScript etkinleştirilmelidir olacak. Aşağıdaki kod ~tmb JPEG, PNG ve GIF dosyası için denilen bir alt dizininde bir resim dosyası oluşturun:

$invalid = true;
if ($file != '.' and $file != '..') {
    if (filetype($path_abs.$file) == "file") {
        $ext = strtolower(substr($file,strrpos($file,'.')+1));
        if ($ext == 'jpg' || $ext == 'jpeg') {
            $origimg = @imagecreatefromjpeg($path_abs.$file);
        } elseif ($ext == 'png') {
            $origimg = @imagecreatefrompng($path_abs.$file);
        } elseif ($ext == 'gif') {
            $origimg = @imagecreatefromgif($path_abs.$file);
        }
        if ($origimg !== false) {
            $nheight = 0;
            $nwidth = 0;
            $use_orig = false;
            if ($width<=160 and $height<160) {
                $nwidth = $width;
                $nheight = $height;
                $use_orig = true;
                $invalid = false;
            } else {
                if ($width>$height and $width>0) {
                    $nheight = intval((160 / $width) * $height);
                    $nwidth = 160;
                } elseif ($height>0) {
                    $nwidth = intval((160 / $height) * $width);
                    $nheight = 160;
                } else {
                    $image = false;
                }
                if ($nheight > 0 and $nwidth > 0) {
                    $newimg = imagecreatetruecolor($nwidth, $nheight);
                    $bgc = imagecolorallocate ($newimg, 238, 238, 238);
                    imagefilledrectangle ($newimg, 0, 0, $nwidth, $nheight, $bgc);
                    if (@imagecopyresampled($newimg, $origimg, 0, 0, 0, 0, $nwidth, $nheight, $width, $height)) {
                        $image = imagejpeg($newimg, $path_abs.'~tmb/'.$file);
                        $invalid = false;
                    } elseif (@imagecopyresized($newimg, $origimg, 0, 0, 0, 0, $nwidth, $nheight, $width, $height)) {
                        $image = imagejpeg($newimg, $path_abs.'~tmb/'.$file);
                        $invalid = false;
                    }
                }
            }
        }
    }
}
if (!$invalid) {
    if ($use_orig) {
        echo '<img src="'.$file.'" alt="" />';
    } else {
        echo '<img src="~tmb/'.$file.'" alt="" />';
    }
} else {
    echo '<p>Error for file '.$file.'</p>';
}

Boy oranını koruyarak olsa Yukarıdaki kodda, o, 160x160 onları boyutlandırır.

onun kadar basit, sen karthid@in.com herhangi sorguları posta varsa

$ffmpeg = "ffmpeg Installed path"

$flvfile = "source video file with root path"

$png_path " "Destination video file with root path and file type"

exec("$ffmpeg -y -i $flvfile -vframes 1 -ss 00:01:60 -an -vcodec png -f rawvideo -s 110x90 $png_path");

Tüm iyi ....

Sen küçük oluşturmak için görüntüleri yüklemek ve yeniden boyutlandırmak için PHP GD kütüphanesini kullanabilirsiniz

http://us.php.net/manual/en/image.examples.php

PECL uzantısı iMagic arama. Standart paket yöneticileri ile genellikle kurulabilir bulunuyor.

http://se2.php.net/Imagick

Ya dinamik küçük oluşturmak ve. Php dosyalarını kullanarak onlara hizmet edebilir (yavaş) veya sunucu üzerinde saklamak, bir küçük resim kopyasını yapmak (tercih)

Ben buldum iyi yolu phpThumb sınıfını kullanmak için (http://phpthumb.sourceforge.net/).

Bu önbelleğe alma, filtreler, filigran ve diğer güzel şeyler de dahil olmak üzere, ve daha ihtiyacınız olan her şeye sahiptir. Sadece demo sayfasına bakmak.

maxImageUpload, bir orijinal görüntü ile küçük, normal bir görüntü oluşturmak için yararlıdır.

Sen jQuery küçük resim büyütmek için kullanabilirsiniz.

Benim deneyim GD çok bellek etkili büyük görüntüler için, o yüzden şiddetle iMagic kullanmaya teşvik değildir. I `thumbnail generation with php Imagick kitaplığı kullanarak bir kod parçacığını yazdık. Bunun yerine kullanarak yankılanan görüntü kaydetmek için değiştirebilirsiniz http://php.net/manual/en/imagick.writeimage.php