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' />";
}
}
mrsinguyenus viết 01:39 ngày 10/10/2018
Cái class này chỉ là thay đổi kích thước thôi
amida viết 01:48 ngày 10/10/2018
Đây là code mình đã từng mượn của anh scripter. Bạn có thể tham khảo
PHP Code:
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_img0000$dest_width$dest_height$src_width$src_height);
        
imagejpeg($dst_img$image_des80);
        
imagedestroy($src_img);
        
imagedestroy($dst_img);
    } 
conan1212 viết 01:38 ngày 10/10/2018
Quote Được gửi bởi amidan View Post
Đây là code mình đã từng mượn của anh scripter. Bạn có thể tham khảo
PHP Code:
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_img0000$dest_width$dest_height$src_width$src_height);
        
imagejpeg($dst_img$image_des80);
        
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.
anhtuannd viết 01:42 ngày 10/10/2018
Code đầu tiên mình viết về resize dùng GD:

PHP Code:
<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;/$sx0);
$new_width  $max_width;
} else {
$new_width round($size***91;0***93;/$sy0);
$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.">";
}
?>
heo mọi viết 01:35 ngày 10/10/2018
Quote Được gửi bởi sam2pro View Post
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' />";
}
}
Hix, cái này chỉ là thay đổi kích thước được hiển thị trên browser.
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ả.
Bài liên quan
0