|
|
|
ขอCodeการ Crop Image ให้ได้ขนาดเท่ากันหน่อยครับ แบบว่าเราโพสรูปใหญ่เข้าไปใน DB แล้ว จะเอามาแสดงหน้าแรก |
|
|
|
|
|
|
|
แบบว่าเราโพสรูปใหญ่เข้าไปใน DB แล้ว จะเอามาแสดงหน้าแรกของข่าว ให้มัน ตัดส่วนที่เกิน เพื่อให้ได้ขนาดที่กำหนด
โค๊ดที่ได้มาอ่ะครับ แต่ไม่เข้าใจ ช่วยอธิบายหน่อยนะครับ ว่าทำไง เอาไปใส่ที่ไหน
cropImage(225, 165, '/path/to/source/image.jpg', 'jpg', '/path/to/dest/image.jpg');
function cropImage($nw, $nh, $source, $stype, $dest) {
$size = getimagesize($source);
$w = $size[0];
$h = $size[1];
switch($stype) {
case 'gif':
$simg = imagecreatefromgif($source);
break;
case 'jpg':
$simg = imagecreatefromjpeg($source);
break;
case 'png':
$simg = imagecreatefrompng($source);
break;
}
$dimg = imagecreatetruecolor($nw, $nh);
$wm = $w/$nw;
$hm = $h/$nh;
$h_height = $nh/2;
$w_height = $nw/2;
if($w> $h) {
$adjusted_width = $w / $hm;
$half_width = $adjusted_width / 2;
$int_width = $half_width - $w_height;
imagecopyresampled($dimg,$simg,-$int_width,0,0,0,$adjusted_width,$nh,$w,$h);
} elseif(($w <$h) || ($w == $h)) {
$adjusted_height = $h / $wm;
$half_height = $adjusted_height / 2;
$int_height = $half_height - $h_height;
imagecopyresampled($dimg,$simg,0,-$int_height,0,0,$nw,$adjusted_height,$w,$h);
} else {
imagecopyresampled($dimg,$simg,0,0,0,0,$nw,$nh,$w,$h);
}
imagejpeg($dimg,$dest,100);
}
http://www.findmotive.com/2006/12/13/php-crop-image/ <<< เว็บตัวอย่าง
Tag : - - - -
|
|
|
|
|
|
Date :
20 ก.ค. 2551 22:48:56 |
By :
tama_zang1 |
View :
6360 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ส่วนที่เรียกใช้คือ
cropImage(225, 165, '/path/to/source/image.jpg', 'jpg', '/path/to/dest/image.jpg');
แค่นี้แหละครับ
|
|
|
|
|
Date :
21 ก.ค. 2551 08:59:20 |
By :
ธัน |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่เหลือคือ function ของมันครับ
|
|
|
|
|
Date :
21 ก.ค. 2551 08:59:49 |
By :
ธัน |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|