您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php生成缩略图,加水印类_PHP教程

2024/3/28 8:01:17发布12次查看
这个一个简单的gd库操作
[php]  
$dinfo['height'] || $winfo['width'] > $dinfo['width']) {  
            return false;  
        }
// 两张图,读到画布上! 但是图片可能是png,可能是jpeg,用什么函数读?  
        $dfunc = 'imagecreatefrom' . $dinfo['ext'];  
        $wfunc = 'imagecreatefrom' . $winfo['ext'];
if (!function_exists($dfunc) || !function_exists($wfunc)) {  
            return false;  
        }  www.2cto.com
// 动态加载函数来创建画布  
        $dim = $dfunc($dst);  
        // 创建待操作的画布  
        $wim = $wfunc($water);  
        // 创建水印画布
// 根据水印的位置 计算粘贴的坐标  
        switch($pos) {  
            case 0 :  
                // 左上角  
                $posx = 0;  
                $posy = 0;  
                break;
case 1 :  
                // 右上角  
                $posx = $dinfo['width'] - $winfo['width'];  
                $posy = 0;  
                break;
case 3 :  
                // 左下角  
                $posx = 0;  
                $posy = $dinfo['height'] - $winfo['height'];  
                break;
default :  
                $posx = $dinfo['width'] - $winfo['width'];  
                $posy = $dinfo['height'] - $winfo['height'];  
        }
// 加水印  
        imagecopymerge($dim, $wim, $posx, $posy, 0, 0, $winfo['width'], $winfo['height'], $alpha);
// 保存  
        if (!$save) {  
            $save = $dst;  
            unlink($dst);  
            // 删除原图  
        }
$createfunc = 'image' . $dinfo['ext'];  
        $createfunc($dim, $save);
imagedestroy($dim);  
        imagedestroy($wim);
return true;  
    }
/** 
     thumb 生成缩略图 
     等比例缩放,两边留白 
     **/  
    public static function thumb($dst, $save = null, $width = 200, $height = 200) {  
        // 首先判断待处理的图片存不存在  
        $dinfo = self::imageinfo($dst);  
        if ($dinfo == false) {  
            return false;  
        }
// 计算缩放比例  
        $calc = min($width / $dinfo['width'], $height / $dinfo['height']);
// 创建原始图的画布  
        $dfunc = 'imagecreatefrom' . $dinfo['ext'];  
        $dim = $dfunc($dst);
// 创建缩略画布  
        $tim = imagecreatetruecolor($width, $height);
// 创建白色填充缩略画布  
        $white = imagecolorallocate($tim, 255, 255, 255);
// 填充缩略画布  
        imagefill($tim, 0, 0, $white);
// 复制并缩略  
        $dwidth = (int)$dinfo['width'] * $calc;  
        $dheight = (int)$dinfo['height'] * $calc;
$paddingx = (int)($width - $dwidth) / 2;  
        $paddingy = (int)($height - $dheight) / 2;
imagecopyresampled($tim, $dim, $paddingx, $paddingy, 0, 0, $dwidth, $dheight, $dinfo['width'], $dinfo['height']);
// 保存图片  
        if (!$save) {  
            $save = $dst;  
            unlink($dst);  
        }
$createfunc = 'image' . $dinfo['ext'];  
        $createfunc($tim, $save);
imagedestroy($dim);  
        imagedestroy($tim);
return true;
}
}
// print_r(imagetool::imageinfo('./home.jpg'));  
/*  www.2cto.com
 echo imagetool::water('./home.jpg','./smallfeng.png','home1.jpg',0)?'ok':'fail'; 
 echo imagetool::water('./home.jpg','./smallfeng.png','home2.jpg',1)?'ok':'fail'; 
 echo imagetool::water('./home.jpg','./smallfeng.png','home3.jpg',2)?'ok':'fail'; 
 echo imagetool::water('./home.jpg','./smallfeng.png','home4.jpg',3)?'ok':'fail'; 
 */
http://www.bkjia.com/phpjc/477858.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/477858.htmltecharticle这个一个简单的gd库操作 [php] ?php /**** 燕十八 公益php讲堂 论 坛: http://www.zixue.it 微 博: http://weibo.com/yshiba yy频道: 88354001 ****/ /*** 想操作图片...
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product