как сделать эскизы с php

Мне просто интересно, как я могу создавать миниатюры изображений, хранящихся в hdd, и использовать их на html-странице, также мне нужно, чтобы эскизы могли увеличиваться (до их первоначального размера), если щелкнуть по предпочтительно внутри тега div на той же странице , Я был бы признателен, если бы кто-нибудь мог поставить меня в правильном направлении

благодаря

Вам понадобится расширение GD. Следующий код создаст файл миниатюр в подкаталоге ~tmb для ~tmb JPEG, PNG и GIF:

 $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>'; } 

В приведенном выше коде он изменяет размеры до 160×160, хотя поддерживается соотношение сторон.

Библиотека gd позволяет вам манипулировать изображениями. Здесь вы найдете статью для создания эскизов.

Если вы хотите разрешить пользователям просматривать миниатюру и исходный размер, лучше всего сохранить две версии. И для отображения того или другого.

это так просто, если у вас есть вопросы по почте на karthid@in.com

 $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"); 

всего наилучшего….

Вы можете использовать библиотеку GD в PHP для загрузки и изменения размера изображений для создания эскизов

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

Найдите расширение PECL Imagick. Обычно он устанавливается со стандартными менеджерами пакетов.

http://se2.php.net/Imagick

Вы можете динамически создавать миниатюры и обслуживать их с помощью файлов .php (медленно) или делать копию эскиза, которую вы храните на сервере (желательно)

лучший способ, который я нашел, – использовать класс phpThumb ( http://phpthumb.sourceforge.net/ ).

В нем есть все необходимое и многое другое, включая кеширование, фильтры, водяные знаки и другие интересные вещи. Просто просмотрите демо-страницу.

maxImageUpload полезен для создания эскизов, обычного изображения с исходным изображением.

Вы можете использовать jQuery, чтобы увеличить уменьшенное изображение.

По моему опыту, GD не очень эффективен с точки зрения памяти для больших изображений, поэтому я настоятельно рекомендую вам использовать Imagick. Я написал фрагмент кода для генерации эскизов с помощью php, используя библиотеку Imagick. Вы можете изменить его, чтобы сохранить изображение, а не эхом, используя http://php.net/manual/en/imagick.writeimage.php