奇怪的說GD縮圖

我是利用 SiteShoter 來獲取網頁的快照
然後再利用 php 的 GD 功能來製作縮圖

運作過程
1. 由 SiteShoter 來抓取整頁的快照
2. 利用 GD 將圖片的寬度縮小至 800px 寬
3. 擷取上面的 800*600 的空間製作 100*75 的縮圖

其實一切都很順利
只是有一點很怪,在 第二步 製作出來寬 800 的圖
結果其大小比 SiteShoter 產生的圖片還要大
1.08 MB(961*4297) -> 2.03 MB(800*3577)

其下附上縮圖的程式碼

$src = imagecreatefrompng($real_poth . 'src/' . $data[0] . '.png');
$src_size = array('x'=>imagesx($src), 'y'=>imagesy($src));
$thumb_size = make_thumb_size($src_size, 800, 0);
$thumb = imagecreatetruecolor($thumb_size['x'], $thumb_size['y']);
imagecopyresampled($thumb, $src, 0, 0, 0, 0, $thumb_size['x'], $thumb_size['y'], $src_size['x'], $src_size['y']);
imagepng($thumb, $real_poth . $data[0] . '.png', 9, PNG_ALL_FILTERS);

function make_thumb_size($src, $w, $h)
{
 $thumb = $src;
 if( $w!=0 && $thumb['x']>$w )
 {
  $thumb['y'] = intval($src['y'] / $src['x'] * $w);
  $thumb['x'] = $w;
 }
 if( $h!=0 && $thumb['y']>$h )
 {
  $thumb['x'] = intval($thumb['x'] / $thumb['y'] * $h);
  $thumb['y'] = $h;
 }
 return $thumb;
}
2010-10-15 11:19 發佈
文章關鍵字 GD縮圖

imagepng($thumb, $real_poth . $data[0] . '.png', 9, PNG_ALL_FILTERS);

上面這一段語法後面的那兩個參數如果不要設試試

改成如下

imagepng($thumb, $real_poth . $data[0] . '.png');

不要設定它的圖片品質
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?