09/10/2018, 23:34
class thumbnail ảnh
mình lượm lạc trong php_manual modify lại. ai chưa phải pro thì dùng tạm nha. nhớ là phát triển thêm gòi post lại cả nhà thưởng ngoạn nhá .
class thumbnail{
function thumbnail($imgdir=',$cent){
$image = $imgdir;
$size = getimagesize("$image");
$height = $size[1];
$width = $size[0];
if ($height > $cent){
$height = $cent;
$percent = ($size[1] / $height);
$width = ($size[0] / $percent);
}
else if ($width > $cent){
$width = $cent;
$percent = ($size[0] / $width);
$height = ($size[1] / $percent);
}
return "<img src='$imgdir' height='$height' width='$width' />";
}
}
class thumbnail{
function thumbnail($imgdir=',$cent){
$image = $imgdir;
$size = getimagesize("$image");
$height = $size[1];
$width = $size[0];
if ($height > $cent){
$height = $cent;
$percent = ($size[1] / $height);
$width = ($size[0] / $percent);
}
else if ($width > $cent){
$width = $cent;
$percent = ($size[0] / $width);
$height = ($size[1] / $percent);
}
return "<img src='$imgdir' height='$height' width='$width' />";
}
}
Bài liên quan
function createthumbnail ($image_src, $image_des, $dest_width, $dest_height)
{
$imagedata = getimagesize($image_src);
$src_width = $imagedata***91;0***93;;
$src_height = $imagedata***91;1***93;;
$src_img = imagecreatefromjpeg($image_src);
$dst_img = imagecreatetruecolor($dest_width,$dest_height);
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width, $dest_height, $src_width, $src_height);
imagejpeg($dst_img, $image_des, 80);
imagedestroy($src_img);
imagedestroy($dst_img);
}
Theo conan thì lúc lấy ra mới làm thế này thì chưa tôi ưu lắm, nên tạo một folder thumb trong thư mục chứa image để lưu mấy cái hình này, còn code thì dùng khi upload file dể tạo thumb.
Còn một cách nữa là lưu vào CSDL, cách này thì có nhiều ưu điểm nhưng cũng không hẳn đã tối ưu.
<form enctype="multipart/form-data" action="imageresize.php?zen=1" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="3000000">
Resize this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>
<?php
/*
-----------------------------------------------------------------------------
| Script : IMAGE RESIZER |
| Released :17/10/2004 |
| Author : Le Anh Tuan |
| E-mail : zenlak@yahoo.com |
| This is my first script used GD, so it may behas a lot of errors. If you |
| match any errors, please send feedback to: zenlak@yahoo.com |
-----------------------------------------------------------------------------
*/
$zen = $_GET***91;"zen"***93;;
if ($zen == 1) {
$file = $_FILES***91;'userfile'***93;***91;'name'***93;;
$img = "up/".$_FILES***91;'userfile'***93;***91;'name'***93;;
if (move_uploaded_file($_FILES***91;'userfile'***93;***91;'tmp_name'***93;, $img))
{
$max_width=500;
//Kich thuoc chieu rong cuc dai
//Specify maximum width
$max_height=500;
//Kich thuoc chieu cao cuc dai
//Specify maximum height
$destination_path = "thumb/";
//Thu muc chua file duoc tao
//Directory to put resized images
//Tinh kich thuoc moi cua file
//Calculate new size
$size = getimagesize ($img);
if (($size***91;0***93;<$max_width) AND ($size***91;1***93;<$max_height))
{
$new_height = $size***91;1***93;;
$new_width = $size***91;0***93;;
}
else
{
$sx = $size***91;0***93;/$max_width;
$sy = $size***91;1***93;/$max_height;
if ($scalex > $scaley) {
$new_height = round($size***91;1***93;/$sx, 0);
$new_width = $max_width;
} else {
$new_width = round($size***91;0***93;/$sy, 0);
$new_height = $max_height;
}
}
// Lay kieu file anh
// Get image type
$len = strlen($img);
$pos = strpos($img,".");
$type = substr($img,$pos + 1,$len);
// Ham thu nho anh
// Resize function
function resize_jpeg($img)
{
global $destination_path;
global $file;
global $new_width;
global $new_height;
$destimg=imagecreatetruecolor($new_width,$new_height) or die("Khong tao duoc anh");
$srcimg=ImageCreateFromJPEG($img) or die("Khong mo duoc file anh");
imagecopyresampled($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg)) or die("Khong resize duoc");
ImageJPEG($destimg,$destination_path.time().'.jpg') or die("Khong lu*u duoc");}
function resize_png($img)
{
global $destination_path;
global $file;
global $new_width;
global $new_height;
$destimg=imagecreatetruecolor($new_width,$new_height) or die("Khong tao duoc anh");
$srcimg=ImageCreateFromPNG($img) or die("Khong mo duoc file anh");
imagecopyresampled($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg)) or die("Khong resize duoc");
ImagePNG($destimg,$destination_path.time().'.png') or die("Khong lu*u duoc");
}
function resize_gif($img)
{
global $destination_path;
global $file;
global $new_width;
global $new_height;
$destimg=imagecreatetruecolor($new_width,$new_height) or die("Khong tao duoc anh");
$srcimg=ImageCreateFromGIF($img) or die("Khong mo duoc file anh");
imagecopyresampled($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg)) or die("Khong resize duoc");
ImageGIF($destimg,$destination_path.time().'.gif') or die("Khong lu*u duoc");
}
// Kiem tra dang file anh roi goi ham tuong ung
//
if ($type=="jpeg" || $type=="jpg" || $type=="JPG")resize_jpeg($img);
else if($type="png" || $type="PNG")resize_png($img);
else if($type="gif" || $type="GIF")resize_gif($img);
echo "<b>Done........</b><p><IMG src=\"".$destination_path.$file."\" height=".$new_height." width=".$new_width.">";
}
?>
Với lại, cái từ khóa "class" là của lập trình hướng đối tượng, nhưng cái code trên chẳng thấy cái gì "hướng đối tượng" trong đó cả.