2012-02-15 74 views
0

我想使用GD庫製作圓圈縮略圖。有沒有現成的解決方案呢?我已經看過只有圓角的圖書館了。如何製作使用GD的圓圈縮略圖

+0

這個概念並沒有太大的不同,如果我想到的是你真正想要的。你能舉一個你要找的東西的例子嗎? – Brad 2012-02-15 14:59:30

回答

1

這是我使用的腳本。它只是將我的縮略圖覆蓋半透明圖案,這使縮略圖具有一些形狀效果。

ini_set("memory_limit","64M"); 
ini_set("gd.jpeg_ignore_warning", 1); 
$img_name=$_GET[f]; 
$type=$_GET[type]; 
if (isset($img_name)) { 
$img_name = $_SERVER["DOCUMENT_ROOT"]."/catalog/".$img_name; 
$info = @getimagesize($img_name); 
$ext = @$info[2]; 
$header = @$info['mime']; 
$board = ImageCreateFrompng("images/item".$type.".png"); 
$im = ImageCreateTrueColor(170,140); 
$bg = imagecolorallocate($im, 255, 255, 255); 
imagefill($im,0,0,$bg); 
header("Content-type: $header"); 
switch($ext) { 
    case 1: { // GIF 
    $img = @imagecreatefromgif($img_name); 
    if ($img) { 
     imagecopyresized($im, $img, (170-$info[0]), 0, 0, 0, @$info[0], @$info[1],  @$info[0], @$info[1]); 
    imagecopy($im, $board, 0, 0, 0, 0, 170, 140); 
    imagegif($im, '', 100); 
    return $chache_fn; 
} break; 
    } 
    case 2: { // JPG 
    $img = @imagecreatefromjpeg($img_name); 
    if ($img) { 
     imagecopyresized($im, $img, (170-$info[0]), 0, 0, 0, @$info[0], @$info[1],  @$info[0], @$info[1]); 
     imagecopy($im, $board, 0, 0, 0, 0, 170, 140); 
     imagejpeg($im, '', 100); 
    } break; 
    } 
    case 3: { // PNG 
    $img = @imagecreatefrompng($img_name); 
    if ($img) { 
     imagecopyresized($im, $img, (170-$info[0]), 0, 0, 0, @$info[0], @$info[1],  @$info[0], @$info[1]); 
     imagecopy($im, $board, 0, 0, 0, 0, 170, 140); 
     imagepng($im, '', 9); 
    } break; 
    } 
    case 6: { // BMP 
    $img = @imagecreatefromwbmp($img_name); 
    if ($img) { 
     imagecopyresized($im, $img, (170-$info[0]), 0, 0, 0, @$info[0], @$info[1],  @$info[0], @$info[1]); 
     imagecopy($im, $board, 0, 0, 0, 0, 170, 140); 
     imagewbmp($im, '', 100); 
    } break; 
    } 
} 
}