How to make sketches with php
I am just wondering how I can create thumbnails of images stored in hdd and use them in html page, also I need thumbnails to be able to enlarge (to their original size) if I click on preferably inside a div tag on the same page, I would appreciate it if someone could put me in the right direction
thank
source to share
You will need the GD extension. The following code will create a thumbnail file in a subdirectory ~tmb
for JPEG, PNG, and GIF files:
$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>';
}
In the above code, it resizes to 160x160 even though the aspect ratio is maintained.
source to share
its so easy if you have questions by mail to 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");
all the best....
source to share
the best way I've found is using the phpThumb class ( http://phpthumb.sourceforge.net/ ).
It has everything you need and more, including caching, filters, watermarks, and other cool stuff. Just check out the demo page.
source to share
maxImageUpload is useful for creating thumbnails, regular image with original image.
You can use jQuery to enlarge the thumbnail image.
source to share
In my experience GD is not very memory efficient for large images, so I highly recommend that you use Imagick. I wrote a code snippet to generate thumbnails with php using Imagick library. You can change it to save the image instead of echoing using http://php.net/manual/en/imagick.writeimage.php
source to share